Programowo wybierz wiersz w JTable
Po uruchomieniu aplikacji żaden z wierszy nie jest zaznaczony. Ale chciałbym pokazać, że pierwszy wiersz jest już wybrany.
Jak to zrobić? Czy muszę ustawić kolor wiersza wJTable
?
Update: Próbowałem przy stole.setRowSelectionInterval(0,0). Wiem, że powinno działać, ale jest komunikat o błędzie:
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)
3 answers
Możesz to zrobić wywołując setRowSelectionInterval :
table.setRowSelectionInterval(0, 0);
Aby wybrać pierwszy wiersz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-13 17:00:07
To jest stary post, ale natknąłem się na to niedawno
Wybór określonego interwału
Jak już wspomniano @aleroot, używając
table.setRowSelectionInterval(index0, index1);
Można określić interwał, który należy wybrać.
Dodawanie interwału do istniejącej selekcji
Możesz również zachować bieżący wybór i po prostu dodać dodatkowe wiersze, używając tego tutaj
table.getSelectionModel().addSelectionInterval(index0, index1);
Ta linia kodu dodatkowo wybiera określony interwał. Nie ma matter if that interval already is selected, of parts of it are selected.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-04 15:38:47
Używasz dostępnego API z JTable
i nie próbuj mieszać kolorów.
Niektóre metody selekcji są dostępne bezpośrednio w JTable
(jak setRowSelectionInterval
). Jeśli chcesz mieć dostęp do całej logiki związanej z selekcją, model selekcji jest miejscem, w którym możesz zacząć szukać
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-28 21:03:42