有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaJTree:检查选择的级别

我正在使用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        
                    }
                }
            }};
    }

共 (2) 个答案

  1. # 1 楼答案

    通过首先调用selPathgetPath()方法并计算其长度,可以检查从selPath到树根的路径长度

    Object[] array = selPath.getPath();
    int depth = array.length;
    
  2. # 2 楼答案

    TreePath path = tree.getSelectionPath();
    int level = path.getPathCount();
    

    TreePath manual page