Tengo una JTable y un menú emergente que es específico de cada fila. Quiero calcular la fila en la que el usuario hizo clic con el botón derecho del mouse (Windows L & F) para que aparezca el menú emergente.Encontrar la fila JTable en la que se ha invocado un menú emergente
Creo un MouseListener para la tabla, por lo que obtiene el MouseEvent con un clic, y muestra el menú emergente en el lugar correcto. Pero cuando el usuario selecciona un elemento del menú emergente, no puedo encontrar la forma de determinar en qué fila estaba el usuario al hacer clic derecho en primer lugar. El evento para la invocación del menú emergente no tiene las coordenadas x, y donde el clic derecho tuvo lugar más.
He tratado de obtener la posición de la ventana emergente, pero eso pertenece al marco, no a la tabla, por lo que ni ella ni su padre tienen los valores x, y correctos para lo que deseo.
He trabajado al respecto subclasificando JPopupMenu y estableciendo los valores xey que quiero que tengan en el MouseListener. Pero me parece que esto sería un problema general para cualquiera que quiera poner un menú emergente en una JTable, y me pregunto qué me he perdido.
¿Hay una forma más sencilla de hacerlo, especialmente una que no implique la subclasificación de JPopupMenu?
posible duplicado de [Java Swing JTable; Haga clic derecho en el menú (¿Cómo puedo obtenerlo para "seleccionar" también conocido como resaltar la fila)] (http://stackoverflow.com/questions/3558293/java-swing-jtable-right-click-menu-how-do-i- get-it-to-select-aka-highlight-t) –