Как добавить тип слушателя в JTable (Java)? - PullRequest
3 голосов
/ 17 сентября 2011

У меня есть столбец с простым текстом.

Если пользователь дважды щелкает строку в этом столбце, столбец позволяет редактировать себя для этой строки (как и положено).

Мне нужно что-то, чтобы определить, когда закончится редактирование этого текста (например, когда пользователь нажимает клавишу ввода). Когда это происходит, мне нужно что-то, чтобы получить идентификатор строки этого изменения (конечно, на основе 0).

Есть идеи?

Спасибо!

Ответы [ 2 ]

7 голосов
/ 17 сентября 2011

Вы должны добавить прослушиватель к TableModel:

table.getModel().addTableModelListener(new TableModelListener() {

      public void tableChanged(TableModelEvent e) {
         // your code goes here;
      }
    });

TableModelEvent содержит номер строки и столбца и тип модификации.

1 голос
/ 17 сентября 2011

Я думаю, что самый простой способ получить местоположение клика в терминах строки и столбца это:

table.addMouseListener(new java.awt.event.MouseAdapter() {
    @Override
    public void mouseClicked(java.awt.event.MouseEvent e) {
        int row = table.rowAtPoint(e.getPoint());
        int column = table.columnAtPoint(e.getPoint());
        if (row >= 0 && column >= 0) {
            ......

        }
    }
});
...