簡體   English   中英

JFace為SWT添加了什么?

[英]What does JFace add to SWT?

以下是有什么區別的:

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

何時使用查看器和常規小部件?

PS:如果你能幫我找到理解它們的好資源,那將是一個很大的幫助。謝謝你!

您可以標題為“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在行動”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM