TITLE:JTreeのノードを検索する

Posted by terai at 2009-01-12

JTreeのノードを検索する

JTreeを検索して、一致するアイテムを選択します。

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

private static void searchTree(JTree tree, TreePath path, String q) {
  TreeNode node = (TreeNode)path.getLastPathComponent();
  if(node==null) return;
  if(node.toString().equals(q))
    tree.addSelectionPath(path);
  if(!node.isLeaf() && node.getChildCount()>=0) {
    Enumeration e = node.children();
    while(e.hasMoreElements())
      searchTree(tree, path.pathByAddingChild(e.nextElement()), q);
  }
}

解説

上記のサンプルでは、選択されたJTreeのノード以下に、検索文字列と一致するノードがあれば、JTree#addSelectionPath(TreePath)メソッドで選択するようになっています。

参考リンク

コメント