Par programmation, sélectionnez une ligne dans la JTable
lorsque l'application est lancée, aucune des lignes n'est sélectionnée. Mais je voudrais montrer que la première ligne est déjà sélectionné.
Comment faire cela? Ai-je besoin pour définir la couleur d'une ligne dans JTable
?
mise à Jour: J'ai essayé de table.setRowSelectionInterval (0,0). Je sais que ça devrait fonctionner, mais il y a un message d'erreur:
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.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.access0(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext.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)
3 réponses
Vous pouvez le faire en appelant setRowSelectionInterval:
table.setRowSelectionInterval(0, 0);
pour sélectionner la première ligne.
C'est un vieux post, mais je suis tombé sur cette récemment
sélection d'un intervalle spécifique
table.setRowSelectionInterval(index0, index1);
Vous pouvez spécifier un intervalle, qui doit être sélectionné.
Ajout d'un intervalle à la sélection existante
vous pouvez aussi garder la sélection courante, et simplement ajouter des lignes supplémentaires en utilisant ici
table.getSelectionModel().addSelectionInterval(index0, index1);
Cette ligne de code sélectionne en outre l'intervalle spécifié. Peu importe si cet intervalle est déjà sélectionné, des parties de celui-ci sont sélectionnées.
Vous utilisez le API disponibleJTable
et n'essayez pas de jouer avec les couleurs.
Certaines méthodes de sélection sont disponibles directement sur le JTable
(le