【发布时间】:2012-09-09 12:29:16
【问题描述】:
m_searchButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
DefaultMutableTreeNode node = searchNode(m_searchText.getText());
if (node != null) {
TreeNode[] nodes = m_model.getPathToRoot(node);
TreePath path = new TreePath(nodes);
m_tree.scrollPathToVisible(path);
m_tree.setSelectionPath(path);
} else {
System.out.println("Node with string " + m_searchText.getText() + " not found");
}
}
});
searchNode() 的代码是
public DefaultMutableTreeNode searchNode(String nodeStr) {
DefaultMutableTreeNode node = null;
Enumeration e = m_rootNode.breadthFirstEnumeration();
while (e.hasMoreElements()) {
node = (DefaultMutableTreeNode) e.nextElement();
if (nodeStr.equals(node.getUserObject().toString())) {
return node;
}
}
return null;
}
我已经写了这段代码顶部搜索树中的一个节点?但是我无法用蓝色突出显示找到的节点。你能提供一个解决方案吗?
【问题讨论】:
-
这个我没试过,但是你试过在树上打电话
repaint吗?? -
对不起,您“无法理解”是什么意思?
m_tree.repaint()不工作吗??
标签: java swing jtree renderer treemodel