Ниже приведен фрагмент моего кода. У меня есть 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);
}
}
Это помещает курсор в первую ячейку. Но когда я что-то набираю, ключевые события не запускаются! Примечание: если я использую мышь, чтобы щелкнуть ячейку, а затем ввести, она запускает ключевые события. Но я не хочу делать этот дополнительный щелчок.