本文主要是介绍JTree响应重复点击事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一般而言,要让树的节点响应点击事件,我们通常都是实现TreeSelectionListener接口。
定义:this.jtree.addTreeSelectionListener(this);
代码:
@Override
public 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);
代码:
@Override
public 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);
}
}
这样,树的节点才能够响应重复点击事件!
这篇关于JTree响应重复点击事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!