У меня есть собственный редактор, состоящий из нескольких компонентов. Что-то вроде:
class MyCellEditor extends AbstractCellEditor implements TableCellEditor {
JTextArea textArea;
JButton button;
JPanel panel;
MyCellEditor() {
textArea = new JTextArea();
button = new JButton();
panel = new JPanel(new BorderLayout());
panel.add(textArea, BorderLayout.CENTER);
panel.add(button, BorderLayout.EAST);
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
textArea.setText((String) value);
return panel;
}
public Object getCellEditorValue() {
return textArea.getText();
}
}
Я хочу, чтобы внутренний textArea
захватывал фокус, когда начинается редактирование. Он отлично работает, когда я щелкаю по ячейке, но не тогда, когда я перемещаюсь по таблице с помощью клавиатуры и начинаю печатать в этой ячейке.
Как я могу это исправить?