Редактировать в фокусе JPanel внутри JTable - PullRequest
1 голос
/ 07 марта 2012

этот вопрос похож на: Не удается получить фокус при использовании JPanel в качестве редактора ячеек JTable

Только я, кажется, застрял на шаг назад.

У меня есть пользовательский TableCellEditor, который возвращает JPanel с JTextField внутри (упрощенный случай). Я хочу, чтобы JTextField редактировалось, когда я вкладывал в эту ячейку таблицы.

У меня есть этот кусок кода в моей JTable, чтобы редактировать таблицу на вкладке:

public void changeSelection(final int row, int column, boolean toggle, boolean extend){
        System.out.println("selectionChanged");
    super.changeSelection(row, column, toggle, extend);
    if (!isCellEditable(row, column))
        return;
    AuthorTableEditor editor = (AuthorTableEditor) getCellEditor(row, column);
    editor.setAutoFocus(this, row, column);
    editCellAt(row, column);
}

setAutoFocus используется, поэтому методы в AuthorTableEditor не будут вызываться дважды.

Как получить редактируемое поле JTextField, например, что происходит, когда я просто возвращаю JTextField в TableCellEditor?

...