如何在DefaultMutableTreeNode上获得鼠标侦听器?

Adr*_*min 1 java jtree mouselistener

我知道我可以将一个mouseListener添加到Jtree,但我需要双击他的一个元素和doSomething();

hal*_*lex 5

JTree文档:

如果您有兴趣检测双击事件或用户单击某个节点,无论是否选中该节点,我们建议您执行以下操作:

final JTree tree = ...;

 MouseListener ml = new MouseAdapter() {
     public void mousePressed(MouseEvent e) {
         int selRow = tree.getRowForLocation(e.getX(), e.getY());
         TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
         if(selRow != -1) {
             if(e.getClickCount() == 1) {
                 mySingleClick(selRow, selPath);
             }
             else if(e.getClickCount() == 2) {
                 myDoubleClick(selRow, selPath);
             }
         }
     }
 };
 tree.addMouseListener(ml);
Run Code Online (Sandbox Code Playgroud)