1

我创建了这个模型(见下文),使用通常的 java 外观,我知道作为用户。现在我想通过使用 SWT、JFace、Eclipse RCP 来实现这个模型。

笔记:

左侧的 NVV/RMV/KVG/RKH 应根据手风琴模式
运行 。选项卡 NVV、RMV、KVG 是模块的父选项卡,管理布局选项卡。
左侧的树形菜单打开右侧的选项卡

问题:

  • 我应该使用哪些 SWT/JFace 类来实现这个模型?
  • 你看到这个模型有什么问题吗?(关于不同的实现、可用性等)

小样

4

1 回答 1

3

您指定的大多数小部件在 Eclipse RCP 框架中都很容易获得。

首先你应该在这里查看一些教程:vogella tutorials

除此之外,我强烈建议您使用 WindowBuilder,以便您可以相当轻松地设计 GUI:WindowBuilder

对于顶部的选项卡文件夹(NVV/RMV...),您可以TabFolderTabItem这样使用:

     tabFolder_1 = new TabFolder(this, SWT.NONE);
     tbtmNvv = new TabItem(tabFolder_1, SWT.NONE);
     tbtmNvv.setText("NVV");
     tbtmRmv = new TabItem(tabFolder_1, SWT.NONE);
     tbtmRmv.setText("RMV");

this代表Composite我的代码中的父级。TabFolders 通过在其中放置 a 来工作,Control只是不要忘记调用该setControl方法以使其内容可见。TabFolders 可以相互嵌套。或者,您可以将 RCP View-s 用于您的顶级选项卡。

对于中间的表格,您可以使用 JFace 组件,TableViewer例如:

    tableViewer = new TableViewer(tabFolder_1, SWT.BORDER | SWT.FULL_SELECTION);
    table = tableViewer.getTable();
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    tbtmRmv.setControl(table);

    tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    tblclmnMyCol = tableViewerColumn.getColumn();
    tblclmnMyCol.setWidth(100);
    tblclmnMyCol.setText("My col");

如果您想知道如何将数据绑定到您的表,您应该查看我上面提到的教程。

对于手风琴,您可以ExpandBar这样使用:

    expandBar = new ExpandBar(this, SWT.NONE);

    xpndtmItem = new ExpandItem(expandBar, SWT.NONE);
    xpndtmItem.setText("Item 1");

    xpndtmItem_1 = new ExpandItem(expandBar, SWT.NONE);
    xpndtmItem_1.setText("Item2");

或 TreeViewer:

    treeViewer = new TreeViewer(composite, SWT.BORDER);
    tree = treeViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

你也可以将TreeViewers 放在你的ExpandBar.

至于我通常坚持的布局,GridLayout这是一个好的多面手。

恐怕向您简要介绍如何使用这些组件/布局超出了 SO 答案的范围,但您始终可以查看我链接的教程,它们将帮助您在 Eclipse RCP 中的努力。

于 2012-07-30T08:12:52.587 回答