如何将图像设置为表单标题的右上角

时间:2012-02-07 09:16:25

标签: eclipse-plugin swt eclipse-rcp jface

我正在使用eclipse rcp表单,

我正在尝试使用

设置图像
form.setImage()

仅将图像设置在表单文本的左侧。如何将图像放在表单标题文本的右上角。

如下图所示(图片是任何RCP应用程序的默认概览选项卡)  enter image description here

从上面的图片中我了解到,图片/小部件放在表格文本旁边(如果我错了就道歉)。

作为一种解决方法,我尝试在表单头部放置一个复合词,但我相信表单标题级别之后的表单头部(如果我们将表单标题视为第一行,则表单头部显示为第二行)

Composite composite = formToolkit.createComposite(form.getHead(), SWT.NONE);
form.setHeadClient(composite);
formToolkit.paintBordersFor(composite);
composite.setLayout(new GridLayout(2, false));

以这种方式,我试图将组件放置到复合材料中,但无论如何我没有得到图像中所示的所需样式。

如何将图片放置在表单标题的右上角

1 个答案:

答案 0 :(得分:0)

您无法将图像设置到右上角。您在附加图像中看到的是一个包含IContributionItem

的工具栏

要创建内容,您必须使用以下内容覆盖org.eclipse.ui.forms.editor.SharedHeaderFormEditor.createHeaderContents(IManagedForm)

@Override
protected void createHeaderContents(final IManagedForm headerForm) {

    headerForm.getForm().setText("EditorTitle");
    headerForm.getForm().setImage(myLeftImage);
    headerForm.getToolkit().decorateFormHeading(
            headerForm2.getForm().getForm());
    Action action = new Action("Do something") {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return imageDescriptorOfRightImage;
        }
    };
    headerForm.getForm().getToolBarManager().add(action);
    headerForm.getForm().getToolBarManager().update(true);

}