如何在java中实现右键弹出式菜单

请高手指教,最好说得明白一点,谢谢没说清楚,是swing 上的
2025-04-18 08:46:05
推荐回答(3个)
回答1:

public void mouseReleased(MouseEvent e)
{
if(e.getButton() == MouseEvent.BUTTON3)//点击右键
popUpMenu.show(editMenu, e.getX(), e.getY());
//popUpMenu是一个JPopupMenu editMenu是一个JMenu
//e.getX(), e.getY()是获得鼠标点击的坐标 在点击的地方弹出一个 editMenu,editMenu中的 内容自己添加
}
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1)//点击鼠标左键
popUpMenu.setVisible(false);//弹出菜单消失
}

回答2:

//在构造方法中写

JPopupMenu popupMenu = new JPopupMenu();

JMenuItem popCopy = new JMenuItem("复制(C)");
JMenuItem popPaste = new JMenuItem("粘贴(P)");
JMenuItem popCut = new JMenuItem("剪切(T)");
JMenuItem popDelete = new JMenuItem("删除(L)");

// 弹出菜单菜单项的添加
popupMenu.add(popCopy);
popupMenu.add(popPaste);
popupMenu.add(popCut);
popupMenu.add(popDelete);

// 将弹出菜单添加到多行文本框
showText.add(popupMenu);//showText为弹出右键菜单的组件的对象
showText.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger())
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}

public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger())
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
);

QQ:452281735

回答3:

网页上还是swing的啊