移动TitleAreaDialog的图像向左(Moving an image of a TitleA

2019-09-22 17:16发布

我工作的基于Java SE一个SWT / JFace的项目,我想一个TitleAreaDialog的图像向左移动。 可能吗 ? 如果不是有没有呢?

谢谢,

Answer 1:

您可以按如下修改图像标签的布局数据:

    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();


Answer 2:

有没有办法使用API​​来进行配置,布局是硬编码。 一种方法是侵入对话框控件和改变它们的布局数据,但它很可能更容易实现自己的类(使用TitleAreaDialog为例)。

如果你继承TitleAreaDialog你必须覆盖createContents(Composite)方法,否则TitleAreaDialog将通过调用创建自己的标题区createTitleArea() 我建议一开始你只是将代码从复制TitleAreaDialog.createContents()并开始更换,你必须做不同的东西。 我不知道需要,而无需实际做一切需要做什么。



文章来源: Moving an image of a TitleAreaDialog to the left