java - JTree : Check the level of selection

标签 java swing jtree mouselistener

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

最佳答案

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

Object[] array = selPath.getPath();
int depth = array.length;

关于java - JTree : Check the level of selection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8662102/

相关文章:

Java-什么可以通过接口(interface)完成而不能通过抽象类完成?

java - JUnit 测试 System.err.print()

java - JPanel 的对齐

java - Swing:如何忽略取消选择事件?

java - 合并排序与选择排序

java - 在aws中导入外部证书

java - 如何获取 Swing 小部件上字体的底部位置?

java - 如何为 JTabbedPane 中的选项卡设置准确的样式?

java - 同时展开和折叠具有相同结构的两棵树

java - MouseListener 和 JTree