识别图片上的SWT和JFace小部件

时间:2012-07-30 07:46:19

标签: java swt jface mockups

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

注意:

左侧的NVV / RMV / KVG / RKH应符合accordion pattern的要求 选项卡NVV,RMV,KVG是模块的父选项卡,管理布局选项卡。
左侧的树状菜单打开右侧的标签

问题:

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

Mockup

1 个答案:

答案 0 :(得分: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代表我的代码中的父CompositeTabFolderControl内放置setControl只是不要忘记调用TabFolder方法使其内容可见。 TableViewer可以互相嵌套。或者,您可以将RCP View-s用于顶级选项卡。

对于中间的表,您可以使用JFace组件,即 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 = new TreeViewer(composite, SWT.BORDER);
    tree = treeViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

或TreeViewer:

TreeViewer

您也可以将ExpandBar放入GridLayout

至于布局,我通常坚持{{1}},这是一个很好的全能选手。

简要介绍如何使用这些组件/布局超出了我担心的SO答案的范围,但是您可以随时查看我链接的教程,它们将帮助您完成Eclipse RCP的工作。