JTree响应重复点击事件

来源:互联网 发布:jsp获取客户端mac地址 编辑:程序博客网 时间:2024/06/20 00:25

一般而言,要让树的节点响应点击事件,我们通常都是实现TreeSelectionListener接口。

定义:this.jtree.addTreeSelectionListener(this);

代码:

@Overridepublic void valueChanged(TreeSelectionEvent e) {DefaultMutableTreeNode node = (DefaultMutableTreeNode) this.jtree.getLastSelectedPathComponent();Myuser user = (Myuser) node.getUserObject();ChatFrame chatFrame = new ChatFrame(user);chatFrame.setVisible(true);}


但是,TreeSelectionListener只能保证节点响应一次。重复点击时,不会触发valueChanged事件。

所以,我们应该实现MouseListener接口。

定义:this.jtree.addMouseListener(this);

代码:

@Overridepublic void mouseClicked(MouseEvent e) {//点击事件if(e.getSource()==this.jtree){TreePath selPath = this.jtree.getPathForLocation(e.getX(),e.getY());DefaultMutableTreeNode node = (DefaultMutableTreeNode) selPath.getLastPathComponent();Myuser user = (Myuser) node.getUserObject();ChatFrame chatFrame = new ChatFrame(user);chatFrame.setVisible(true);}}


这样,树的节点才能够响应重复点击事件!

原创粉丝点击