java swing的树操作(三)

2014-11-24 08:17:28 · 作者: · 浏览: 1
SelectionPath().getLastPathComponent();
//改名
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