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