Ячейка JTable не запускает ключевые события при принудительном редактировании ячейки через editCellAt(row,col)

Ниже приведен фрагмент моего кода. У меня есть JTable. Я расширил DefaultCellEditor, чтобы создать свой собственный редактор. У меня есть ключевые прослушиватели и прослушиватели мыши, добавленные для ячеек. У меня также есть JButton. Когда я нажимаю кнопку JButton, я хочу, чтобы первая ячейка в JTable перешла в режим редактирования. Для этого я использовал requestFocus и editCellAt(0,0). Я поместил этот код в actionperformed.

public void actionPerformed(ActionEvent e)
{
     System.out.println("action performed");

     if(e.getSource().equals(btn))
     {
    oTable.requestFocus();
    oTable.setRowSelectionInterval(0, 0);
    oTable.editCellAt(0, 0);
     }
}

Это помещает курсор в первую ячейку. Но когда я что-то набираю, ключевые события не запускаются! Примечание: если я использую мышь, чтобы щелкнуть ячейку, а затем ввести, она запускает ключевые события. Но я не хочу делать этот дополнительный щелчок.

0
задан halfer 26 February 2016 в 11:53
поделиться