3
我想在用户右键单击我的JTable时获得JPopUpMenu显示。在我的课堂延伸的JTable,我叫下面的代码:Java在Mac OS中弹出菜单
addMouseListener(new MouseAdapter()
{
@Override
public void mouseReleased(MouseEvent e)
{
rowClicked = rowAtPoint(e.getPoint());
colClicked = columnAtPoint(e.getPoint());
if (e.isPopupTrigger())
{
popUpMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
@Override
public void mouseClicked(MouseEvent e)
{
rowClicked = rowAtPoint(e.getPoint());
colClicked = columnAtPoint(e.getPoint());
if(e.isPopupTrigger())
{
popUpMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
});
每当我右键点击触控板,用鼠标,或使用CTRL +右键,if(e.isPopupTrigger())
从不计算真实,菜单是永远所示。我在那里有断点来验证。
我在网上做了一些研究,看来这个解决方案应该可以工作。由于右键单击是依赖于平台的,因此使用isPopupTrigger()应该是要走的路。
因为我在Mac上,有什么特别的吗?
真棒,谢谢你,让我试试这个 – user489041
+1'setComponentPopupMenu()',也看到了[这里](HTTP: //stackoverflow.com/a/5129757/230513)。 – trashgod
通过添加解决我的问题的'setComponentPopupMenu'。感谢这个例子 – user489041