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