JFace 为 SWT 添加了什么?
以下两者之间有什么区别:
- TreeViewer & Tree
- TableViewer & Table
- TreeViewerColumn & TreeColumn
- TableViewerColumn & TableColumn
何时使用查看器和常规小部件?
PS:如果你能帮助我找到一个很好的资源来理解它们,那将是一个很大的帮助。提前致谢!
以下两者之间有什么区别:
何时使用查看器和常规小部件?
PS:如果你能帮助我找到一个很好的资源来理解它们,那将是一个很大的帮助。提前致谢!
你可以把你的问题命名为“JFace为SWT增加了什么?
观众来自JFace,Widgets来自SWT。
总之,JFace使小部件易于操作并插入到GUI中。JFace 将您从操作 SWT 小部件元素以向静态小部件添加行为的所有苦差事中解放出来。SWT只是提供侦听器,JFace使用这些侦听器来让您专注于真实世界模型与其SWT表示之间的映射。
让我们看看您列出的具体示例。
如果构建一个标准的 SWT 小部件,则必须描述树的内容(设置一个或多个顶部项,将一些树项挂接到每个根,可能添加一个选择侦听器),然后管理其所有转换。该树将几乎没有内置逻辑:只需折叠/展开和选择侦听器。时期。
这将是一个静态的树。
TreeViewer将允许您在该树中注入许多不同类型的行为:如何填充,过滤,如何标记TreeItems。
您将通过注册满足良好指定接口的类来做到这一点(例如,ILabelProvider将允许您将TreeItem标签映射到文件夹中的文件名)。
如果没有 TreeViewer,构建一个体面的响应式树将是一项艰巨的工作。总之,它使您可以轻松地将基础真实世界的分层模型映射到 SWT 树表示形式。
这同样适用于 TableViewer。表查看器允许您向表添加一些自定义行为。例如,如何编辑单元格。
TreeViewerColumn.很久以前(在 3.3 之前),SWT 树没有列。树没有列 表有列,但它们没有扩展/失效。从 3.3 开始,您可以向树中添加列。通过将 TreeViewerColumn 添加到 TreeViewer 而不是仅仅将 TreeColumn 添加到树中(您仍然需要这样做),可以更好地做到这一点,原因与上述类似,您可以添加对编辑列单元格内容的支持,并且可以填充列(通过再次编写标签提供程序)。
TableViewerColumn.TableViewers也是如此:增加了版本和内容管理。
对于 SWT/JFace 文档,请查看。
属于JFace的观众不属于SWT本身,继续前进,在谷歌上查找JFace教程,你会发现很多例子。
Steve Northover的书(父亲SWT)“SWT:The Standard Widget Toolkit,Volume 1”(AFAIK还没有第二卷)。
“Eclipse: Building Commercial-Quality Plug-ins”,作者:Eric Clayberg 和 Dan Rube。Eric现在是Google的副总裁,也是WindowBuilder Pro的父亲。
SWT 代码段也是掌握 SWT 对象的快速通道。
其他好书包括