3
A
回答
6
你可以看看Announcing the new Swing Tree Table today中的例子。它看起來像作者Creating a Data Model,所以Responding to Node Selection應該是有幫助的。我覺得在NetBeans 6.8類org.netbeans.swing.outline.Outline
:
NetBeans/platform11/modules/org-netbeans-swing-outline.jar
附錄:
注意Outline
從JTable
下降,所以How to Use Tables: User Selections可能會有所幫助。基於上面提到的例子,這裏有一個聽衆,顯示行數的顯着變化爲節點展開和摺疊和選擇保持不變:
outline.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int row = outline.getSelectedRow();
File f = (File) outline.getValueAt(row, 0);
if (!e.getValueIsAdjusting()) {
System.out.println(row + ": " + f);
}
}
});
雖然provisional,你可能看OutlineModel
和DefaultOutlineModel
。前者實施TreeModel
和TableModel
並提供TreePathSupport
;後者提到了「TableModelEvent和TreeModelEvent之間的阻抗不匹配」。
像JTable
,在視圖中選擇的行指數可以不對應的行中的模型相匹配,這可能是由於分選等。getValueAt()
方法似乎是一個方便的方法來調用convertRowIndexToModel()
。這在Swing的可分離模型體系結構中很常見,它將每個組件的視圖和控制器部分摺疊爲單個UI(用戶界面)對象。「見A Swing Architecture Overview。
相關問題
- 1. Eclipse中對象的概述?
- 2. Alternativa3D - 概述3D對象
- 3. 訪問Json對象:樹枝
- 4. 如何訪問vaadin樹中的對象?
- 5. R樹50,000英尺的概述?
- 6. PHP OOP概念(值對象/數據訪問對象)
- 7. 概述:無VS概述:0
- 8. 樹枝 - 訪問用戶對象ID
- 9. 材質,着色器和概述Unity3d中的對象
- 10. 問題對業務WinForms應用程序C#OOP的概述 - 對象
- 11. DLR的概述?
- 12. CakePHP的概述
- 13. 如何從模板中的樹枝FormView訪問底層對象?
- 14. Tableau:如何獲得誰訪問了儀表板的概述?
- 15. 訪問datagridview中的對象
- 16. 訪問類中的對象
- 17. Eclipse Classic中的概述欄
- 18. 如何訪問正在描述的對象?
- 19. 訪問對象/
- 20. SSMS - MiniMap概述
- 21. Sitecollection概述Page
- 22. 如何在樹結構中訪問父對象
- 23. 的Java:從對象的訪問對象
- 24. 從對象中訪問xml
- 25. 訪問片Python對象中
- 26. laravel 5.3中的對象訪問問題?
- 27. 限制對S3中對象的訪問
- 28. 從字符串訪問對象屬性申述
- 29. 訪問對象層次結構的子集(而不是子樹)
- 30. 索引訪問的概念
Outline只提供getSelectedRow()方法。但是行的索引取決於上面節點的展開/摺疊狀態。 我看不出將所選行的索引映射到TreeModel中的對象。 – p4553d 2010-05-16 12:58:36
見上文。我不確定你在做什麼,但是你可以根據需要遍歷你的'RowModel'或'TreeModel'。 – trashgod 2010-05-16 19:44:30
這是一種醜陋的解決方案,跟蹤視圖來獲取模型的信息,我試圖避免。但它似乎是目前唯一的方法。謝謝您的幫助! – p4553d 2010-05-22 12:11:24