我有一个JTable和一个特定于每一行的弹出菜单.我想计算用户右键单击鼠标的行(Windows L&F)以显示弹出菜单.
我为表创建一个MouseListener,因此它在单击时获取MouseEvent,并在正确的位置显示弹出菜单.但是当用户从弹出菜单中选择一个项目时,我无法找到一种方法来确定用户在第一个位置右键单击的行.弹出菜单调用的事件没有右键单击发生的x,y坐标.
我已经看过获取弹出窗口的位置,但这属于框架,而不是表格,所以它和它的父母都没有我想要的正确的x,y值.
我通过继承JPopupMenu并设置我想要它在MouseListener中的x和y值来解决它.但在我看来,对于想要在JTable上放置弹出菜单的人来说,这将是一个普遍的问题,我想知道我错过了什么.
有没有更简单的方法来做到这一点,尤其是不涉及子类化JPopupMenu的方法?