java - JTable 转到行

标签 java swing jtable

我正在尝试实现 goto 函数。我有一个包含几千行的 JTable,我希望能够跳转到指定的行号。

else if (BUTTON_GOTO.equals(command))
{
    int gotoLine = Integer.valueOf(gotoField.getText());            
    logTable.setRowSelectionInterval(gotoLine, gotoLine);
}

上面的代码将突出显示我正在查找的行,但不会跳转到该行。有谁知道该怎么做吗?

谢谢

编辑 使用下面的解决方案时存在一个错误,应用程序会跳转到比所需行短几行的位置。有关更多详细信息,请参阅以下主题:

Stack Overflow - Java JTable Goto Row Bug

最佳答案

尝试:

logTable.scrollRectToVisible(logTable.getCellRect(gotoLine, 0, true));

getCellRect()返回一个矩形,该矩形将单元格限制在给定的行和列处,并且 scrollRectToVisible()告诉表的父级(如果您使用 JScrollPane,则应该是 JViewPort)滚动到那里。

关于java - JTable 转到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4629349/

相关文章:

java - JTable RowFilter 是如何工作的?

java - 程序跳过我创建 JTable 的行

java - 如何使用 boolean 数据类型模拟 JTable 中的单选按钮行为

java - 同时发出多个 Volley 请求

java - 如何放大面板以及java gui用什么?

java - JCombobox Listener如何在选择项目时启用它?

java - 如何创建一个JComboBox,其每个元素都有两种不同的样式?

java - 处理大型 HashMap 的内存高效方式

java - Java 中的链表数组

java - 读取图像数据时出错 :SqlException: [jcc][10120][11936][4. 11.77] 无效操作 : Lob is closed. ERRORCODE=-4470,SQLSTATE=null