У меня есть JTable и всплывающее меню, которое относится к каждой строке. Я хочу рассчитать строку, на которую пользователь щелкнул правой кнопкой мыши (Windows L & F), чтобы открыть всплывающее меню.Найдите строку JTable, в которой вызывается всплывающее меню
Я создаю MouseListener для таблицы, поэтому он получает MouseEvent по щелчку и показывает всплывающее меню в нужном месте. Но когда пользователь выбирает один элемент во всплывающем меню, я не могу определить способ определения того, какая строка была там, где пользователь щелкнул правой кнопкой мыши в первую очередь. Событие для вызова всплывающего меню не имеет координаты x, y, где имел место щелчок правой кнопкой мыши.
Я посмотрел на получение позиции всплывающего окна, но это относится к кадру, а не к таблице, поэтому ни он, ни его родительский объект не имеют правильных значений x, y для того, что я хочу.
Я работал над ним, подклассифицируя JPopupMenu и устанавливая значения x и y, которые я хочу иметь в MouseListener. Но мне кажется, что это будет общей проблемой для тех, кто хочет разместить всплывающее меню на JTable, и мне интересно, чего я пропустил.
Есть ли более простой способ сделать это, особенно тот, который не требует подкласса JPopupMenu?
Возможный дубликат [Java Swing JTable; Меню правой кнопки мыши (как мне его выбрать «выбрать», а также выделить строку)] (http://stackoverflow.com/questions/3558293/java-swing-jtable-right-click-menu-how-do-i- get-it-to-select-aka-highlight-t) –