В приложении, которое в основном представляет собой набор JTables и JTextFields, я попытался сделать его доступным как с помощью клавиатуры, так и с помощью мыши. Я думаю о том, как лучше всего помочь пользователю перемещаться между ...

0
setrok 4 Янв 2021 в 15:05

1 ответ

Лучший ответ

После некоторых изменений в методе quitEditMode вы получите желаемый результат:

    private void quitEditMode(JTable table, final KeyStroke tabKey, final KeyStroke shiftTabKey) {
        System.out.println("editing de-activated");
        table.setCellSelectionEnabled(false);
        table.getCellEditor(table.getSelectedRow(), table.getSelectedColumn() ).stopCellEditing();
        table.setRowSelectionAllowed( true );
        table.setRowSelectionInterval( table.getSelectedRow(), table.getSelectedRow() );
        InputMap input = table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
        input.remove(shiftTabKey);
        input.remove(tabKey);
        input.put(shiftTabKey, "tabBefore");
        input.put(tabKey, "tabNext");
    }
0
TimonNetherlands 4 Янв 2021 в 14:02