У меня есть JTable и всплывающее меню, специфичное для каждой строки.Я хочу вычислить строку, в которой пользователь щелкнул правой кнопкой мыши его (Windows L & F), чтобы вызвать всплывающее меню.
Я создаю MouseListener для таблицы, чтобы он получал MouseEvent по щелчку, ипоказывает всплывающее меню в правильном месте.Но когда пользователь выбирает один элемент во всплывающем меню, я не могу найти способ определить, какой была строка, где пользователь щелкнул правой кнопкой мыши в первую очередь.Событие для вызова всплывающего меню больше не имеет координат x, y, где щелчок правой кнопкой мыши произошел.
Я смотрел, как получить позицию всплывающего окна, но оно относится к фрейму., а не таблица, поэтому ни у него, ни у его родителя нет нужных значений x, y для того, что я хочу.
Я обошел это, создав подкласс JPopupMenu и установив значения x и y, которые я хочу,в MouseListener.Но мне кажется, что это будет общей проблемой для любого, кто хочет разместить всплывающее меню на JTable, и мне интересно, что я пропустил.
Есть ли более простой способ сделать это,особенно тот, который не включает создание подклассов JPopupMenu?