【发布时间】:2014-10-02 21:02:20
【问题描述】:
我有一个这样的弹出菜单
final JPopupMenu contextMenu = new JPopupMenu();
final JMenuItem addTask = new JMenuItem("Add Task");
然后我添加一个 MouseListener:
component.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e)
{
if (e.isPopupTrigger()) {
contextMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
在 MenuItem 的 Actionlistener 中,我想从 MouseEvent 访问 x/y 数据。如果不将它们保存在额外的变量中,这是否可能?我想得到这样的东西:
addTask.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//System.out.println(Mouse.getX()+", "+Mouse.getY());
}
});
【问题讨论】:
-
“不将它们保存在一个额外的变量中?” - 有那么大的问题吗,一个
Point currentPoint成员? -
不,这不是问题。我只是想如果没有这个解决方案是可能的。
标签: java swing mouseevent actionlistener jpopupmenu