java - 以编程方式在 JTable 中选择一行

标签 java swing jtable row selected

当应用程序启动时,没有选择任何行。但我想表明第一行已经被选中。

如何做到这一点?我需要在 JTable 中设置一行的颜色吗?

更新: 我试过 table.setRowSelectionInterval(0,0)。我知道它应该可以工作,但是有一条错误消息:

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)

最佳答案

您可以调用 setRowSelectionInterval :

table.setRowSelectionInterval(0, 0);

选择第一行。

关于java - 以编程方式在 JTable 中选择一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8661251/

相关文章:

java - 使 JFrame 不再在每次按下按钮时重新创建

java - 如何将 JTextField 从 JFrame 传递到另一个 JFrame

java - 无法将字符串附加到 jtextarea

java - 无法看到动态创建的 JTable 中的列

java - 为什么具有 DefaultTableModel 的 JTable 不会刷新?

java - 如何防止JDOM2中的XMLOutputter切割属性名称(命名空间部分)?

java - 打开Eclipse时显示错误信息 : "An error has occurred. See the log file null"

java - 为 JTable 中的 JCheckBox 单元格设置颜色

java - 在字符串数组上实现二进制搜索

java - 如何从 JSObject 转换为 Map(反之亦然)或列出 JSObject 成员