JTable - составной редактор - PullRequest
2 голосов
/ 02 августа 2010

У меня есть собственный редактор, состоящий из нескольких компонентов. Что-то вроде:

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 захватывал фокус, когда начинается редактирование. Он отлично работает, когда я щелкаю по ячейке, но не тогда, когда я перемещаюсь по таблице с помощью клавиатуры и начинаю печатать в этой ячейке.

Как я могу это исправить?

1 Ответ

3 голосов
/ 02 августа 2010

У меня была такая же проблема некоторое время назад, и мне понадобилось много времени, чтобы найти решение.Много пробовал с focuslistener и прочим, но, похоже, ничего не получалось так, как я хотел, пока не нашел эту полезную статью от Santhosh Kumar.

Хорошо написано и должно исправить вашу проблему.

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