//改名
node.setUserObject(name);
//刷新
this.adaptee.getTree().updateUI();
}
}
/**
* 菜单点击右键的事件处理
*/
class TreePopMenuEvent implements MouseListener {
private MyTree adaptee;
public TreePopMenuEvent(MyTree adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
TreePath path = adaptee.getTree().getPathForLocation(e.getX(), e.getY()); // 关键是这个方法的使用
if (path == null) {
return;
}
adaptee.getTree().setSelectionPath(path);
if (e.getButton() == 3) {
adaptee.getPopMenu().show(adaptee.getTree(), e.getX(), e.getY());
}
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public static void main(String[] args) {
try {
JFrame.setDefaultLookAndFeelDecorated(true);
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
MyTree userframe = new MyTree();
} catch (ClassNotFoundException ex) {
Logger.getLogger(MyTree.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(MyTree.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(MyTree.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(MyTree.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
作者: zhongweijian