java JFace为SWT添加了什么?
以下两者之间的区别是什么:
- TreeViewer&;树
- TableViewer&;桌子
- TreeViewerColumn&;树柱
- TableViewerColumn&;表列
何时使用查看器&;常规小部件
PS:如果你能帮我找到一个好的资源来理解它们,那将是一个很大的帮助。提前谢谢
你可以在下面搜索框中键入要查询的问题!
以下两者之间的区别是什么:
何时使用查看器&;常规小部件
PS:如果你能帮我找到一个好的资源来理解它们,那将是一个很大的帮助。提前谢谢
# 1 楼答案
您可以将您的问题命名为“JFace为SWT添加了什么?”
查看器来自JFace,小部件来自SWT
总之,JFace使小部件易于操作并插入到GUI中。JFace将您从操纵SWT小部件元素以向静态小部件添加行为的所有繁琐工作中解放出来。SWT只提供监听器,JFace为您使用这些监听器,使您能够专注于真实世界模型与其SWT表示之间的映射
让我们看看你列举的具体例子
如果构建标准SWT小部件,则必须描述树的内容(设置一个或多个顶部项,将一些树项挂接到每个根,可能添加一个选择侦听器),然后管理其所有转换。该树的内置逻辑非常少:只有折叠/展开和选择侦听器。句号
这将是一个静态树
TreeViewer将允许您在该树中注入多种不同的行为:如何填充、过滤、如何标记树项
您可以通过注册满足指定接口的类来实现这一点(例如,ILabelProvider将允许您将TreeItem标签映射到文件夹中的文件名)
如果没有TreeViewer,构建一棵响应良好的树将是一项艰巨的工作。总之,它可以很容易地将底层的真实世界层次模型映射到SWT树表示
对于TableViewer也是如此。TableViewer允许您向表中添加一些自定义行为。例如,如何编辑单元格
树丛柱。很久以前(3.3之前),SWT树没有柱子。树没有列。表有列,但它们没有展开/colapse。从3.3开始,您可以向树中添加列。通过将TreeViewer列添加到TreeViewer中,而不是仅仅将TreeColumn添加到树中(您仍然必须这样做),可以更好地实现这一点。出于与上述类似的原因,您可以添加对编辑列单元格内容的支持,并且可以填充列(通过再次编写标签提供程序)
TableViewerColumn。TableViewer也是如此:添加了版本和内容管理
对于SWT/JFace文档,请查看
属于JFace的观众不适合SWT,继续往下看,在google上查找JFace教程,你会发现很多例子
Steve Northover的书(SWT之父)“SWT:标准小部件工具包,第1卷”(AFAIK还没有第二卷)
Eric Clayberg和Dan Rube的“Eclipse:构建商业质量插件”。埃里克现在是谷歌副总裁,也是WindowBuilder Pro的父亲
SWT snippets也是掌握SWT对象的快速途径
其他好书包括