Beginnen Sie mit der Bearbeitung in einer Zelle in JTable, um den Fokus zu erhalten

Ich habe Zelleditoren für die beiden Spalten in meiner Tabelle folgendermaßen definiert:

Java Code:

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));

Das Problem, mit dem ich konfrontiert bin, ist, dass die Zelle nicht automatisch bearbeitet werden kann, wenn ein Fokus auf eine Tabellenzelle verschoben wird. Wenn also der Fokus auf Spalte 2 verschoben wird (mit einem Textfeld als Editor), wird das Caret-Zeichen nur angezeigt, wenn auf die Zelle doppelt geklickt wird oder der Benutzer mit der Eingabe beginnt. Ähnliches gilt für Spalte 1 (mit einem Kombinationsfeld als Editor), da hier das Kombinationsfeld nur angezeigt wird, wenn auf die Zelle geklickt wird. Diese Verhaltensweisen sind für einen Benutzer, der mit der Tastatur arbeitet, nicht intuitiv und unerwünscht. :(

Bitte schlagen Sie Hinweise vor, wie dies gelöst werden könnte.

Danke im Voraus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage