![](/img/trans.png)
[英]JFace/SWT: What is the best way to add a toolbar with Commands to a Section?
[英]What does JFace add to SWT?
以下是有什么區別的:
何時使用查看器和常規小部件?
PS:如果你能幫我找到理解它們的好資源,那將是一個很大的幫助。謝謝你!
您可以標題為“JFace為SWT添加了什么?”。
觀眾來自JFace,Widgets來自SWT。
總之,JFace使Widgets易於操作並插入GUI。 JFace使您免於操縱SWT窗口小部件元素的所有苦差事,以向靜態窗口小部件添加行為。 SWT只提供監聽器,JFace使用這些監聽器讓您專注於真實世界模型與其SWT表示之間的映射。
讓我們看一下您列出的具體示例。
如果您構建標准SWT窗口小部件,則必須描述樹的內容(設置一個或多個頂部項,將一些TreeItem掛鈎到每個根,可能添加選擇偵聽器),然后管理其所有轉換。 那棵樹將具有很少的內置邏輯:只是崩潰/擴展和選擇監聽器。 期。
那將是一個靜態的樹。
TreeViewer允許您在該樹中注入許多不同類型的行為:如何填充,過濾,如何標記TreeItems。
您將通過注冊滿足指定接口的類來完成此操作(例如,ILabelProvider將允許您將TreeItem標簽映射到文件夾中的文件名)。
沒有TreeViewer,構建一個體面的響應樹將是一項艱苦的工作。 總之,它可以很容易地將底層真實世界層次模型映射到SWT樹表示。
TableViewer也是如此。 TableViewer允許您向表中添加一些自定義行為。 例如,如何編輯單元格。
TreeViewerColumn。 很久以前(在3.3之前),SWT Trees沒有列。 樹沒有列表有列,但它們沒有擴展/崩潰。 從3.3開始,您可以向樹添加列。 通過向TreeViewer添加TreeViewerColumn而不是僅僅將TreeColumn添加到樹(您仍然必須這樣做),由於與上述類似的原因,您可以更好地執行此操作,您可以添加對編輯列單元格內容的支持並且您可以填充列(通過再次編寫Label Provider)。
TableViewerColumn。 TableViewers也是如此:添加了版本和內容管理。
對於SWT / JFace doc,請看一下。
屬於JFace的觀眾不適合SWT,前進,在谷歌上查找JFace教程,你會發現很多例子。
Steve Northover的書(父親SWT)“SWT:The Standard Widget Toolkit,Volume 1”(AFAIK還沒有第二卷)。
Eric Clayberg和Dan Rube撰寫的“Eclipse:構建商業級插件”。 Eric現在是Google副總裁,也是WindowBuilder Pro的父親
SWT片段也是掌握SWT對象的快速通道。
其他好書包括
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.