我正在开发一个基于 netbeans 平台的应用程序。
在一个 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
}
它们仍将按原始顺序...
那么有谁知道我应该如何让它们按新的排序顺序排列?