JFace为SWT添加了什么?

Red*_*ddy 15 java eclipse swt jface tableviewer

以下是有什么区别的:

  1. TreeViewer&Tree
  2. TableViewer和表格
  3. TreeViewerColumn&TreeColumn
  4. TableViewerColumn和TableColumn

何时使用查看器和常规小部件?

PS:如果你能帮我找到理解它们的好资源,那将是一个很大的帮助.谢谢你!

Ala*_*ier 25

您可以标题为"JFace为SWT添加了什么?".

观众来自JFace,Widgets来自SWT.

总之,JFace使Widgets易于操作并插入GUI.JFace使您免于操纵SWT窗口小部件元素的所有苦差事,以向静态窗口小部件添加行为.SWT只提供监听器,JFace使用这些监听器让您专注于真实世界模型与其SWT表示之间的映射.

让我们看一下您列出的具体示例.

  1. 如果您构建标准SWT窗口小部件,则必须描述树的内容(设置一个或多个顶部项,将一些TreeItem挂钩到每个根,可能添加选择侦听器),然后管理其所有过渡.那棵树将具有很少的内置逻辑:只是崩溃/扩展和选择监听器.期.
    那将是一个静态的树.
    TreeViewer允许您在该树中注入许多不同类型的行为:如何填充,过滤,如何标记TreeItems.
    您将通过注册满足指定接口的类来完成此操作(例如,ILabelProvider将允许您将TreeItem标签映射到文件夹中的文件名).
    没有TreeViewer,构建一个体面的响应树将是一项艰苦的工作.总之,它可以很容易地将底层真实世界层次模型映射到SWT树表示.

  2. TableViewer也是如此.TableViewer允许您向表中添加一些自定义行为.例如,如何编辑单元格.

  3. TreeViewerColumn.很久以前(在3.3之前),SWT Trees没有列.树没有列表有列,但它们没有扩展/崩溃.从3.3开始,您可以向树添加列.通过向TreeViewer添加TreeViewerColumn而不是仅仅将TreeColumn添加到树(您仍然必须这样做),由于与上述类似的原因,您可以更好地执行此操作,您可以添加对编辑列单元格内容的支持并且您可以填充列(通过再次编写Label Provider).

  4. TableViewerColumn.TableViewers也是如此:添加了版本和内容管理.

对于SWT/JFace doc,请看一下.

  1. 属于JFace的观众不适合SWT,前进,在谷歌上查找JFace教程,你会发现很多例子.

  2. Steve Northover的书(父亲SWT)"SWT:The Standard Widget Toolkit,Volume 1"(AFAIK还没有第二卷).

  3. Eric Clayberg和Dan Rube撰写的"Eclipse:构建商业级插件".Eric现在是Google副总裁,也是WindowBuilder Pro的父亲

  4. SWT片段也有快速通道,以掌握SWT对象.

  5. 其他好书包括

    • Rob Warner和Robert Harris撰写的"SWT和JFace权威指南"
    • "Manning的SWT/JFAce在行动"