我使用MouseAdapter检查JTree节点上的双击。我希望根据所选节点的级别进行一些不同的操作。如何查看节点级别?以下是监听程序的代码:
private MouseAdapter getMouseAdapter(JTree jtree) {
final JTree tree = jtree;
return new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
if (selPath != null) {
if (e.getClickCount() == 2) {
String selectedNode = selPath.getLastPathComponent().toString();
// >>>>> check on which level of the tree this node is
}
}
}};
}发布于 2011-12-29 06:52:29
您可以通过首先调用selPath的getPath()方法并计算其长度来检查从selPath到树根的路径的长度。
Object[] array = selPath.getPath();
int depth = array.length;发布于 2013-04-28 07:32:28
TreePath path = tree.getSelectionPath();
int level = path.getPathCount();请参阅TreePath manual page。
https://stackoverflow.com/questions/8662102
复制相似问题