有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JFace为SWT添加了什么?

以下两者之间的区别是什么:

  1. TreeViewer&;树
  2. TableViewer&;桌子
  3. TreeViewerColumn&;树柱
  4. TableViewerColumn&;表列

何时使用查看器&;常规小部件

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


共 (1) 个答案

  1. # 1 楼答案

    您可以将您的问题命名为“JFace为SWT添加了什么?”

    查看器来自JFace,小部件来自SWT

    总之,JFace使小部件易于操作并插入到GUI中。JFace将您从操纵SWT小部件元素以向静态小部件添加行为的所有繁琐工作中解放出来。SWT只提供监听器,JFace为您使用这些监听器,使您能够专注于真实世界模型与其SWT表示之间的映射

    让我们看看你列举的具体例子

    1. 如果构建标准SWT小部件,则必须描述树的内容(设置一个或多个顶部项,将一些树项挂接到每个根,可能添加一个选择侦听器),然后管理其所有转换。该树的内置逻辑非常少:只有折叠/展开和选择侦听器。句号
      这将是一个静态
      TreeViewer将允许您在该树中注入多种不同的行为:如何填充、过滤、如何标记树项
      您可以通过注册满足指定接口的类来实现这一点(例如,ILabelProvider将允许您将TreeItem标签映射到文件夹中的文件名)
      如果没有TreeViewer,构建一棵响应良好的树将是一项艰巨的工作。总之,它可以很容易地将底层的真实世界层次模型映射到SWT树表示

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

    3. 树丛柱。很久以前(3.3之前),SWT树没有柱子。树没有列。表有列,但它们没有展开/colapse。从3.3开始,您可以向树中添加列。通过将TreeViewer列添加到TreeViewer中,而不是仅仅将TreeColumn添加到树中(您仍然必须这样做),可以更好地实现这一点。出于与上述类似的原因,您可以添加对编辑列单元格内容的支持,并且可以填充列(通过再次编写标签提供程序)

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

    对于SWT/JFace文档,请查看

    1. 属于JFace的观众不适合SWT,继续往下看,在google上查找JFace教程,你会发现很多例子

    2. Steve Northover的书(SWT之父)“SWT:标准小部件工具包,第1卷”(AFAIK还没有第二卷)

    3. Eric Clayberg和Dan Rube的“Eclipse:构建商业质量插件”。埃里克现在是谷歌副总裁,也是WindowBuilder Pro的父亲

    4. SWT snippets也是掌握SWT对象的快速途径

    5. 其他好书包括

      • 罗伯·华纳和罗伯特·哈里斯的《SWT和JFace权威指南》
      • “曼宁的SWT/JFAce正在运行”