私はいくつかのノードとサブノードを持つJTreeを持っています。ノードをクリックすると、その深さ(0,1,3)を知りたいと思っています。それをどうやって知ることができますか?あなたはgetLevel
を使用する必要がありますJTreeで現在のノードの深さを取得する方法は?
6
A
答えて
8
現在のノードの深さを返しません
selected_node.getDepth();
.. getLevel
は、このノードの上のレベル数を返します。ルートからこのノードまでの距離です。このノードがルートである場合は0を返します。Treenode[]
パスを取得した理由(getPath()
を使用)は、その配列の長さで十分です。
getDepth
は、このノードをルートとするツリーの深さを返します。あなたが望むものではありません。あなたはTreeSelectionEvent
ハンドルTreeSelectionListener
を持っている場合は、JTree
内Iterate
に持って
3
basicalyが、TreeSelectionListener
でき戻り興味深い値は、たとえば
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
public class TreeSelectionRow {
public TreeSelectionRow() {
JTree tree = new JTree();
TreeSelectionListener treeSelectionListener = new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent treeSelectionEvent) {
JTree treeSource = (JTree) treeSelectionEvent.getSource();
System.out.println("Min: " + treeSource.getMinSelectionRow());
System.out.println("Max: " + treeSource.getMaxSelectionRow());
System.out.println("Lead: " + treeSource.getLeadSelectionRow());
System.out.println("Row: " + treeSource.getSelectionRows()[0]);
}
};
tree.addTreeSelectionListener(treeSelectionListener);
String title = "JTree Sample";
JFrame frame = new JFrame(title);
frame.add(new JScrollPane(tree));
frame.setSize(300, 150);
frame.setVisible(true);
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
TreeSelectionRow treeSelectionRow = new TreeSelectionRow();
}
});
}
}
+0
うわー、興味深い機能!私は匿名の提案としてgetLevel()を使用しますが、それも便利に来ることができますありがとうございます:) –
2
のために、あなたが選択したTreePath
秒を取得するためにTreeSelectionEvent#getPaths
メソッドを使用することができます。 TreePath#getPathCount
メソッドは、選択したパスの深さを返します。
JTree#getSelectionPaths
メソッドを使用すると、JTree
に直接問い合わせることもできます(ただし、選択が変更されたときにリスナーに通知する必要があります)。
関連する問題
- 1. 現在のノードの親ノード名を取得する方法は?
- 2. ノードredでは、現在のノードのプロパティをプログラムで取得する方法は?
- 3. 現在のノードのIDを取得する方法
- 4. 現在のノード変数の親ノード要素を取得する方法は?
- 5. ツリービューで現在選択されているノードを取得する方法
- 6. TreeList - 現在選択されている親ノードの最後の子ノードを取得する方法は?
- 7. 階層内の現在のノードの深さを出力
- 8. php DomXPath - 現在のノードのみで、子ノードではなくイメージを取得する方法は?
- 9. ノードjs JWT現在のユーザーを取得
- 10. 現在のタイムゾーンで現在のNSDateを取得する方法は?
- 11. JSON.stringify() - Replacerの現在の深さを知る方法
- 12. フラグメントシェーダの現在のバッファ深度をagalで取得
- 13. コトリンで現在の現地日時を取得する方法
- 14. 現在のノードの親を取得する方法角度UIツリー?
- 15. Djangoのカスタムテンプレートフィルタで現在のテンプレートエンジンを取得する方法は?
- 16. フィルタドライバで現在のプロセスイメージファイルのフルネームを取得する方法は?
- 17. C++でMongoDBの現在のインスタンスを取得する方法は?
- 18. 現在地を取得する方法
- 19. SKActionの現在のアニメーションフレームから現在のテクスチャを取得する方法は?
- 20. 現在再生中のビデオファイルの現在のフレームを取得する方法は?
- 21. ノード7.2.1で現在のモジュールのディレクトリを取得する方法 - resolveは推奨されていませんか?
- 22. 範囲オブジェクトから現在のノード参照を取得する方法
- 23. symfony 2.3で現在のロケールを取得する方法は?
- 24. Rails 3で現在のメソッドを取得する方法は?
- 25. pam_ldapで現在のPAMユーザーを取得する方法は?
- 26. FragmentPagerAdapterで現在の位置を取得する方法は?
- 27. スライディングウィンドウで現在のウィンドウ時間を取得する方法は?
- 28. premake5で現在の状態を取得する方法は?
- 29. 現在の時間をミリ秒で取得する方法は?
- 30. AWS Lambdaで現在のユーザー名を取得する方法は?
ありがとうございます。 –