在视图中显示表 - Eclipse插件

时间:2015-09-22 09:57:41

标签: java eclipse plugins eclipse-plugin

我正在尝试为Eclipse开发一个插件。我在线学习教程,并且我已经完成了一个带有示例透视和示例视图的插件。

现在视图显示了这个:

public Object[] getElements(Object parent) 
{
    return new String[] { "One", "Two", "Three" };
} 

而不是字符串我需要插入一个表。我按照另一个教程来创建一个TreeTable,但我不知道如何将这个表树放入我的插件视图中。

这是TreeTable的代码:

public class TreeTableCreation 
{
  public static void main(String[] args) 
  {
    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    Tree tree = new Tree(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    tree.setHeaderVisible(true);
    TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
    column1.setText("Column 1");
    column1.setWidth(200);
    TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
    column2.setText("Column 2");
    column2.setWidth(200);
    TreeColumn column3 = new TreeColumn(tree, SWT.RIGHT);
    column3.setText("Column 3");
    column3.setWidth(200);
    for (int i = 0; i < 4; i++) {
      TreeItem item = new TreeItem(tree, SWT.NONE);
      item.setText(new String[] { "item " + i, "abc", "defghi" });
      for (int j = 0; j < 4; j++) {
        TreeItem subItem = new TreeItem(item, SWT.NONE);
        subItem.setText(new String[] { "subitem " + j, "jklmnop", "qrs" });
        for (int k = 0; k < 4; k++) {
          TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
          subsubItem.setText(new String[] { "subsubitem " + k, "tuv", "wxyz" });
        }
      }
    }
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }
}

1 个答案:

答案 0 :(得分:0)

您的观点应该具有从createPartControl(Composite parent)继承的ViewPart方法。将树表创建代码放在那里,并使用parent参数作为树的父代(而不是代码中的shell)。