java - valores - Programáticamente seleccione una fila en JTable
seleccionar una fila de un jtable desde codigo (3)
Cuando se inicia la aplicación, no se selecciona ninguna de las filas. Pero me gustaría mostrar que la primera fila ya está seleccionada.
¿Como hacer esto? ¿Debo configurar el color de una fila en JTable
?
Actualización: Intenté table.setRowSelectionInterval (0,0). Sé que debería funcionar, pero hay un mensaje de error:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Row index out of range
at javax.swing.JTable.boundRow(Unknown Source)
at javax.swing.JTable.setRowSelectionInterval(Unknown Source)
at cpn_gui.OptPanel.createForm(OptPanel.java:124)
at cpn_gui.OptPanel.<init>(OptPanel.java:50)
at cpn_gui.Login$1.actionPerformed(Login.java:62)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Es una publicación anterior, pero me encontré con esto recientemente
Seleccionando un intervalo específico
Como @aleroot ya se mencionó, al usar
table.setRowSelectionInterval(index0, index1);
Puede especificar un intervalo, que debe ser seleccionado.
Agregar un intervalo a la selección existente
También puede mantener la selección actual y simplemente agregar filas adicionales usando esto aquí
table.getSelectionModel().addSelectionInterval(index0, index1);
Esta línea de código selecciona adicionalmente el intervalo especificado. No importa si ese intervalo ya está seleccionado, se seleccionan partes de él.
Puedes hacerlo llamando a setRowSelectionInterval :
table.setRowSelectionInterval(0, 0);
para seleccionar la primera fila.
JTable
API disponible de JTable
y no trates de jugar con los colores.
Algunos métodos de selección están disponibles directamente en JTable
(como setRowSelectionInterval
). Si desea tener acceso a toda la lógica relacionada con la selección , el modelo de selección es el lugar para comenzar a buscar