我試圖創建一個FilteredTree
與幾列沒有運氣。如果我使用TreeViewer
列的工作正常,但當我切換到使用FilteredTree
我只能讓它工作,如果我刪除的列,所以我想知道是否有一種方式使用FilteredTree
與列。在Eclipse中的列和FilteredTree
1
A
回答
1
您當然可以在列查看器中使用FilteredTree。例如(這也表明保留使用FilteredTree使用TreeColumnLayout的):
final TreeColumnLayout tl = new TreeColumnLayout();
PatternFilter patternFilter = new PatternFilter();
patternFilter.setIncludeLeadingWildcard(true);
FilteredTree ft = new FilteredTree(treeViewerComposite, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | toolkit.getBorderStyle() | Window.getDefaultOrientation(), patternFilter, true) {
@Override
protected Control createTreeControl(Composite parent, int style) {
Control c = super.createTreeControl(parent, style);
c.setLayoutData(null);
c.getParent().setLayout(tl);
return c;
}
};
viewer = ft.getViewer();
viewer.getTree().setHeaderVisible(true);
現在你可以創建TreeColumn的通常的方式和你的列將出現。
1
您可以使用與normal Tree相同的方法。這是一個完整的設置。
PatternFilter patternFilter = new PatternFilter();
patternFilter.setIncludeLeadingWildcard(true);
filteredTree = new FilteredTree(getContainer(), SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, patternFilter, true);
TreeViewer viewer = filteredTree.getViewer();
tree = viewer.getTree();
tree.setHeaderVisible(true);
TreeColumn modelColumn = new TreeColumn(tree, SWT.LEFT);
modelColumn.setText("Model");
modelColumn.setWidth(400);
TreeViewerColumn treeViewerModelColumn = new TreeViewerColumn(viewer, modelColumn);
treeViewerModelColumn.setLabelProvider(new ColumnLabelProvider());
0
是的,有一種方法,而解決方案是這裏概述: http://eclipsesource.com/blogs/2012/10/26/filtering-tables-in-swtjface/
點是默認PatternFilter
需要樹葉是的ILabelProvider
實例。在基於列的樹視圖中,樹葉沒有單個文本表示。
因此,如果您使用TreeViewerColumns
作爲樹列,PatternFilter
將爲每列使用ColumnLabelProvider
。在這種情況下,你會通過繼承PatternFilter
修復,並覆蓋它自己isLeafMatch(..)
否則,使用TreeColumns
時定義列,該TreeViewer
將需要有一個ITableLabelProvider
。除此之外,您將子類PatternFilter
,並再次覆蓋方法isLeafMatch(..)
相關問題
- 1. 在Eclipse模塊中包含jar和Eclipse
- 2. FilteredTree(JFace):顯示所有孩子的自定義過濾器
- 3. 當Filtertext爲空時,展開Jface FilteredTree上的所有項目
- 4. 使用FilteredTree的最小JFace應用程序
- 5. 在Eclipse中的Nutch和Solr在WINDOWS
- 6. 「out」 和 「中」 在Eclipse破字
- 7. 未列在eclipse中的weblogic數據源
- 8. 未在Eclipse中列出的設備
- 9. 如何在eclipse和My Eclipse中的Bundle中加載文件?
- 10. eclipse中的Java列表
- 11. Eclipse中的調試列表
- 12. Hadoop和Eclipse中
- 13. 在Windows上的Eclipse中的OpenGL和GLUT
- 14. Eclipse的Ctrl + 1在IntelliJ和Android Studio中
- 15. Eclipse上的Eclipse和R
- 16. Eclipse中的FindBugs和註解
- 17. Eclipse中的double和int
- 18. eclipse中的XQJ和DataDirectXquery
- 19. Eclipse中的Android和Javah
- 20. Eclipse中的StatET和R
- 21. Tomcat和Eclipse中的System.out.println
- 22. 的Eclipse和OpenCV在Ubuntu
- 23. Eclipse和Package Explorer中
- 24. 如何獲得在Eclipse中的Eclipse和Linux中的類文件的路徑?
- 25. 2硒和JUnit在Eclipse中如何使用下拉列表中的工作?
- 26. Maven和Eclipse的
- 27. Eclipse RCP 4 - 表中的綁定列和iobservable值
- 28. 在Eclipse中的printf
- 29. 在eclipse中的Webservice
- 30. eclipse任務列表TODOs和Mylyn
不幸的是,此代碼將導致斷言失敗。這種佈局設置代碼不正確。 – allprog 2015-01-22 08:28:04