我工作的基于Java SE一个SWT / JFace的项目,我想一个TitleAreaDialog的图像向左移动。 可能吗 ? 如果不是有没有呢?
谢谢,
我工作的基于Java SE一个SWT / JFace的项目,我想一个TitleAreaDialog的图像向左移动。 可能吗 ? 如果不是有没有呢?
谢谢,
您可以按如下修改图像标签的布局数据:
TitleAreaDialog tad = new TitleAreaDialog(getShell()) {
@Override
protected Control createContents(Composite parent) {
Control control = super.createContents(parent);
Label label = getTitleImageLabel();
FormData data = (FormData) label.getLayoutData();
data.left = new FormAttachment(0, 0);
data.right = null;
return control;
}
};
tad.setTitle("title");
tad.setTitleImage(Activator.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "image.gif").createImage());
tad.open();
有没有办法使用API来进行配置,布局是硬编码。 一种方法是侵入对话框控件和改变它们的布局数据,但它很可能更容易实现自己的类(使用TitleAreaDialog
为例)。
如果你继承TitleAreaDialog
你必须覆盖createContents(Composite)
方法,否则TitleAreaDialog
将通过调用创建自己的标题区createTitleArea()
我建议一开始你只是将代码从复制TitleAreaDialog.createContents()
并开始更换,你必须做不同的东西。 我不知道需要,而无需实际做一切需要做什么。