Обнаружение, редактируется ли какая-либо ячейка в JTable - PullRequest
1 голос
/ 23 июня 2011

У меня есть JTable, в котором пользователи могут редактировать ячейки.Когда пользователь редактирует ячейку, я хочу включить кнопку, которая позволяет пользователю проверять ввод.Однако я хочу делать это только тогда, когда пользователь больше не находится в режиме редактирования.Есть ли простой способ определить, редактируется ли в настоящий момент какая-либо ячейка в Jtable?

Спасибо,

Ответы [ 4 ]

6 голосов
/ 23 июня 2011

Еще проще:

if (!table.isEditing())
   //
1 голос
/ 23 июня 2011

Оказывается, у Jtable есть способ обнаружить, редактируется ли какая-либо ячейка.Это на самом деле очень просто.Вы просто проверяете, является ли myJtable.getCellEditor () == нулевым.Если это не так, вы редактируете ячейку, если это не так, ячейки не редактируются.

0 голосов
/ 12 мая 2013
class TableEditor extends DefaultCellEditor{
JTextField com;

  public TableEditor(){
  getComponent().addFocusListener(new FocusAdapter() {
    @Override
    public void focusGained(FocusEvent e){
      com.setBackground(new Color.red);
    }
   });
  }
}

А потом

tb.setDefaultEditor(Object.class,new TableEditor());
0 голосов
/ 23 июня 2011

Я бы использовал пользовательский TabelModel и переопределил бы функцию setValueAt для выполнения вашей проверки.Он должен автоматически вызываться всякий раз, когда пользователь завершает редактирование ячейки таблицы.

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