Начните редактирование в ячейке в JTable при получении фокуса
Я определил редакторы ячеек для двух столбцов в моей таблице следующим образом:
Java-код:
JComboBox combo = new JComboBox();
//code to add items to the combo box goes here.
JTextField textField = new JTextField();
textField.setHorizontalAlignment(JTextField.RIGHT);
TableColumn column = myJTable.getColumnModel().getColumn(0);
column.setCellEditor(new DefaultCellEditor(combo));
column = myJTable.getColumnModel().getColumn(1);
column.setCellEditor(new DefaultCellEditor(textField));
Проблема, с которой я сталкиваюсь, заключается в том, что при перемещении фокуса на ячейку таблицы эта ячейка не становится автоматически редактируемой. Таким образом, когда фокус перемещается в столбец 2 (который имеет текстовое поле в качестве редактора), знак каретки не появляется, если в ячейке дважды щелкнуть мышью или пользователь не начнет печатать. Аналогично имеет место для столбца 1 (который имеет поле со списком в качестве редактора), так как здесь поле со списком не появляется, если ячейка не нажата. Такое поведение нелогично и нежелательно для пользователя, работающего с клавиатурой. :(
Пожалуйста, предложите указатели на то, как это может быть решено.
Заранее спасибо.