我正在開發基於NetBeans平臺的應用程序。如何從當前順序的OutlineView中獲取節點?
在一個TopComponent中,我對OutlineView進行了子類化以顯示節點集合。這個OutlineView有一些列,用戶可以使用它們對不同屬性上的節點集合進行排序。
我的問題是,我排序節點(從GUI,點擊列)後,我想獲得節點的集合在他們當前的有序狀態。我還沒有找到辦法做到這一點?
這是我OutlineView會怎麼看?(排序之前)
------------------------
|Nodes | Prop1 | Prop2 |
|-----------------------
|Node1 | 1 | a |
|-----------------------
|Node2 | 5 | y |
|----------------------
|Node3 | 2 | h |
|-----------------------
|Node4 | 3 | x |
|-----------------------
然後我點擊「PROP1」,它會重新排列後。
如果我從ExplorerManager獲取節點,它們按照它們的原始順序,而不是按排序順序。
如果我從模型中獲取節點;
for (int i = 0; i < getOutline().getModel().getRowCount(); i++) {
TreeNode treeNode = (TreeNode) getOutline().getModel().getValueAt(i, 0);
// still in the original order
}
他們仍然會按照原來的順序...
所以不要有誰知道我應該讓他們在新的排序順序?