JTable Goto Row - PullRequest
       2

JTable Goto Row

2 голосов
/ 07 января 2011

Я пытаюсь реализовать функцию goto.У меня есть JTable с несколькими тысячами строк, и я хочу иметь возможность перейти к указанному номеру строки.

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

Приведенный выше код выделит строку, которую я ищу, но не перейдет к ней.Кто-нибудь знает, как это сделать?

Спасибо

РЕДАКТИРОВАТЬ Существует ошибка при использовании приведенного ниже решения, когда приложение переходит на несколько строк ниже желаемой строки.Дополнительную информацию смотрите в теме ниже:

Переполнение стека - ошибка Java GTable Goto Row

1 Ответ

3 голосов
/ 07 января 2011

Try:

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

getCellRect () возвращает Rectangle, который ограничивает ячейку в данной строке и столбце, а scrollRectToVisible () сообщаетродительский стол (который должен быть JViewPort, если вы используете JScrollPane) для прокрутки там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...