How do I double-click a JTree node and get its name?
If I call evt.getSource() it seems that the object returned is a JTree. I can\'t cast it to a Defa
My example. We can detect Double-click with delay.
public class TreeListener extends MouseAdapter{
private JTree _Tree;
private boolean singleClick = true;
private int doubleClickDelay = 300;
private Timer timer;
public TreeListener(JTree tree)
{
this._Tree = tree;
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
timer.stop();
if (singleClick) {
singleClickHandler(e);
} else {
try {
doubleClickHandler(e);
} catch (ParseException ex) {
Logger.getLogger(ex.getMessage());
}
}
}
};
timer = new javax.swing.Timer(doubleClickDelay, actionListener);
timer.setRepeats(false);
}
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
singleClick = true;
timer.start();
} else {
singleClick = false;
}
}
private void singleClickHandler(ActionEvent e) {
System.out.println("-- single click --");
}
private void doubleClickHandler(ActionEvent e) throws ParseException {
System.out.println("-- double click -- id=");
}
}