我正在尝试实现 goto 函数。我有一个包含几千行的 JTable,我希望能够跳转到指定的行号。
else if (BUTTON_GOTO.equals(command))
{
int gotoLine = Integer.valueOf(gotoField.getText());
logTable.setRowSelectionInterval(gotoLine, gotoLine);
}
上面的代码将突出显示我正在查找的行,但不会跳转到该行。有谁知道该怎么做吗?
谢谢
编辑 使用下面的解决方案时存在一个错误,应用程序会跳转到比所需行短几行的位置。有关更多详细信息,请参阅以下主题:
最佳答案
尝试:
logTable.scrollRectToVisible(logTable.getCellRect(gotoLine, 0, true));
getCellRect()返回一个矩形
,该矩形将单元格限制在给定的行和列处,并且 scrollRectToVisible()告诉表的父级(如果您使用 JScrollPane,则应该是 JViewPort)滚动到那里。
关于java - JTable 转到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4629349/