添加相应的监听器,例如:
MouseListener ml = new MouseAdapter() {
public void mousePressed( MouseEvent e ) {
int selRow = tree.getRowForLocation(e.getX(), e.getY());//返回节点所在的行,-1表示鼠标定位不在显示的单元边界内
TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());//返回指定节点的树路径
if(selRow != -1) {//如果选中
if(e.getClickCount() == 2) {//如果是双击
myDoubleClick(selRow, selPath);
}
else if(e.getButton() == MouseEvent.BUTTON2 && e.getClickCount() == 1 ) {//右键单击(好像是这个)
mydo();
}
}
}
};
tree.addMouseListener(ml);
MouseListener ml = new MouseAdapter() {
public void mousePressed( MouseEvent e ) {
int selRow = tree.getRowForLocation(e.getX(), e.getY());//返回节点所在的行,-1表示鼠标定位不在显示的单元边界内
TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());//返回指定节点的树路径
if(selRow != -1) {//如果选中
if(e.getClickCount() == 2) {//如果是双击
myDoubleClick(selRow, selPath);
}
else if(e.getButton() == MouseEvent.BUTTON2 && e.getClickCount() == 1 ) {//右键单击(好像是这个)
mydo();
}
}
}
};
tree.addMouseListener(ml);
{
if (e.getModifiers() == Event.META_MASK)
{ TreePath treePath =
getPathForLocation(e.getX(), e.getY());
if (treePath != null)
{
setSelectionPath(treePath);
}
return;
}