我创建了这个模型(见下文),使用通常的 java 外观,我知道作为用户。现在我想通过使用 SWT、JFace、Eclipse RCP 来实现这个模型。
笔记:
左侧的 NVV/RMV/KVG/RKH 应根据手风琴模式
运行
。选项卡 NVV、RMV、KVG 是模块的父选项卡,管理布局选项卡。
左侧的树形菜单打开右侧的选项卡
问题:
- 我应该使用哪些 SWT/JFace 类来实现这个模型?
- 你看到这个模型有什么问题吗?(关于不同的实现、可用性等)
您指定的大多数小部件在 Eclipse RCP 框架中都很容易获得。
首先你应该在这里查看一些教程:vogella tutorials
除此之外,我强烈建议您使用 WindowBuilder,以便您可以相当轻松地设计 GUI:WindowBuilder
对于顶部的选项卡文件夹(NVV/RMV...),您可以TabFolder
像TabItem
这样使用:
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
我的代码中的父级。TabFolder
s 通过在其中放置 a 来工作,Control
只是不要忘记调用该setControl
方法以使其内容可见。TabFolder
s 可以相互嵌套。或者,您可以将 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);
你也可以将TreeViewer
s 放在你的ExpandBar
.
至于我通常坚持的布局,GridLayout
这是一个好的多面手。
恐怕向您简要介绍如何使用这些组件/布局超出了 SO 答案的范围,但您始终可以查看我链接的教程,它们将帮助您在 Eclipse RCP 中的努力。