java - 如何在 DefaultMutableTreeNode 上获取鼠标监听器?

标签 java jtree mouselistener

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

最佳答案

来自documentation of JTree :

If you are interested in detecting either double-click events or when a user clicks on a node, regardless of whether or not it was selected, we recommend you do the following:

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);

关于java - 如何在 DefaultMutableTreeNode 上获取鼠标监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12846518/

相关文章:

java - 如何在 MessageFormat 中使用单引号

java - Elasticsearch : Disable IDF completely for search result scoring

java - 共享首选项不保存 Android 应用程序的确切实例状态

java - 删除的 defaultTreeModel 节点仍显示在表中

java - JTree 和 JTabbedPane 之间的链接

java - 如何将鼠标监听器添加到包含图像的 JLabel

java - 使用鼠标点击生成球

java - 如何按第二个词对列表进行排序?

java - 如何确保呈现的文本适合树?

javascript - 使用一个监听器而不是数百个