Добавление строки в jTable внизу внизу - PullRequest
2 голосов
/ 08 марта 2011

У меня есть jTable, который в настоящее время отображает и позволяет редактировать таблицу базы данных, сейчас я пытаюсь сортировать добавление кортежей.

Я пытаюсь заставить его автоматически добавлять строки внизу внизу.Поэтому, если я нахожусь внизу таблицы и нажимаю стрелку вниз, ниже появится новая строка.Я просто не могу понять, как это сделать.

Спасибо, Джеймс

Ответы [ 3 ]

2 голосов
/ 08 марта 2011

Обработка действий JTable происходит в javax.swing.plaf.basic.BasicTableUI.В вашем случае вам, вероятно, нужно зарегистрировать новое действие для SCROLL_DOWN_CHANGE_SELECTION.В действии проверьте, является ли текущий выбор == последней строкой таблицы.

Если это не работает, установите точку останова в javax.swing.plaf.basic.BasicTableUI.Actions.actionPerformed(ActionEvent), чтобы увидеть, какое действие действительно выполняется.

2 голосов
/ 08 марта 2011

JTable имеет действие по умолчанию для клавиши со стрелкой вниз. Если вы хотите изменить это поведение, вам нужно создать собственное действие. Вы можете легко сделать это, используя концепцию Wrapping Actions для использования кода по умолчанию.

Вы также можете посмотреть на Таблицу таблиц , чтобы увидеть рабочий пример обёртывания Action. Код для Action будет намного проще и будет выглядеть примерно так:

if (last row is selected)
    add a new row to the table

invoke the default down arrow action
1 голос
/ 08 марта 2011

Вам нужно будет создать KeyListener и добавить это к вашей таблице:

public void keyReleased(KeyEvent e) {
  int keyCode = e.getKeyCode();
  if (keyCode == KeyEvent.VK_DOWN)
        // check if selected table row = last row and if so: add new row to table model
}

Greetz,
Стейн

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