【问题标题】:Making an editor page with sections doesnt work (eclipse, java)制作带有部分的编辑器页面不起作用(eclipse,java)
【发布时间】:2015-01-09 11:06:22
【问题描述】:

我正在尝试创建一个类似于清单编辑器的多页编辑器。我将向导用于多页编辑器,并尝试按照tutorial 制作一个非常简单的页面

 void createPage0() {

    Composite composite = new Composite(getContainer(), SWT.DEFAULT);

    FormToolkit toolkit = new FormToolkit(composite.getDisplay());
    ScrolledForm scrollform= toolkit.createScrolledForm(composite);
    scrollform.setText("Test Viewer");

    toolkit.decorateFormHeading(form.getForm());

    int index = addPage(composite);
    setPageText(index, "editor1");
}

如果我在 Eclipse 中运行它,编辑器的第一页是纯灰色的,没有任何显示。 (根据教程假设有标题)

有谁知道为什么它不起作用?

【问题讨论】:

  • 你在哪里打电话createPage0
  • @greg-449 in protected void createPages() {createPage0();} int he class public class MappingEditor extends MultiPageEditorPart 实现 IResourceChangeListener(使用多页编辑器向导创建)

标签: java eclipse eclipse-plugin editor eclipse-rcp


【解决方案1】:

您需要在Composite 上设置一个布局,以便它填充数据区域:

Composite composite = new Composite(getContainer(), SWT.NONE);

composite.setLayout(new FillLayout());

如果您想大量使用FormToolkit 代码,那么FormEditor 会为此提供更多支持。

【讨论】:

  • 我现在有另一个问题......滚动的表单有两个滚动活动滚动条,尽管显然没有什么可滚动的。我用 createForm 把它改成了 Form,但它仍然有活动的滚动条……你也能帮忙解决这个问题吗?
  • 一个新问题应该是一个新问题。
  • 打算去做 :) 谢谢你的建议,新来的 :)
【解决方案2】:

你应该覆盖addPages()

JavaDoc 说: 子类应实现此方法以使用addPage(IFormPage) 方法将页面添加到编辑器。

【讨论】:

  • createPages 对于MultiPageEditorPart 是正确的,对于FormEditoraddPages 是正确的。
猜你喜欢
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多