JTree tree = new JTree();
JPopupMenu popup = new JPopupMenu();
popup.add....
.....
.....
tree.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
if (SwingUtilities.isRightMouseButton(e))
popup.show(this,e.getX(),e.getY());
}
});
//***************************************************
//another
//***************************************************
JPopupMenu popup = new JPopupMenu();
myTree.addMouseListener(new PopupTrigger());
。。。
class PopupTrigger extends MouseAdapter
{
public void mouseReleased(MouseEvent e)
{
if (e.isPopupTrigger())
{
int x = e.getX();
int y = e.getY();
TreePath path = myTree.getPathForLocation(x, y);
if(path!=null){
//得到当前节点
DefaultMutableTreeNode node = (DefaultMutableTreeNode)path.getLastPathComponent();
popup.show(myTree, x, y);
}
}
}
}
博客主要展示了Java代码中JTree和JPopupMenu的使用。通过添加鼠标监听器,实现了在JTree上右键点击弹出JPopupMenu的功能,还给出了另一种实现方式,通过自定义鼠标事件处理类来触发弹出菜单。
479

被折叠的 条评论
为什么被折叠?



