小编use*_*820的帖子

找到已调用弹出菜单的JTable行

我有一个JTable和一个特定于每一行的弹出菜单.我想计算用户右键单击鼠标的行(Windows L&F)以显示弹出菜单.

我为表创建一个MouseListener,因此它在单击时获取MouseEvent,并在正确的位置显示弹出菜单.但是当用户从弹出菜单中选择一个项目时,我无法找到一种方法来确定用户在第一个位置右键单击的行.弹出菜单调用的事件没有右键单击发生的x,y坐标.

我已经看过获取弹出窗口的位置,但这属于框架,而不是表格,所以它和它的父母都没有我想要的正确的x,y值.

我通过继承JPopupMenu并设置我想要它在MouseListener中的x和y值来解决它.但在我看来,对于想要在JTable上放置弹出菜单的人来说,这将是一个普遍的问题,我想知道我错过了什么.

有没有更简单的方法来做到这一点,尤其是不涉及子类化JPopupMenu的方法?

java swing jtable jpopupmenu

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

jpopupmenu ×1

jtable ×1

swing ×1