私は、netbeans プラットフォームに基づくアプリケーションを開発しています。
1 つの 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
}
それらは元の順序のままになります...
それで、新しいソート順でそれらを取得する方法を知っている人はいますか?