JComboBoxエディターを含むJTableを次のように初期化しています
JComboBox comboBox = ...;
TableColumn tc = table.getColumnModel().getColumn(i);
tc.setCellEditor(new DefaultCellEditor(comboBox));
これは他の点では問題なく機能していますが、テーブル内を移動して、キーボードのみで値を更新できるようにしたいと思います。これはコンボボックスで可能ですが、値「1」を更新する場合は、最初にキーを押してコンボボックスをアクティブにし、次に「1」を押して項目を選択する必要があります。
だから、私が欲しいのは、「1」を押すことができ、1回のキーを押すだけでアイテムが選択されることです。
テキストセルの場合、次のようにprepareEditorでこれを行うことができました...
@Override
public Component prepareEditor(TableCellEditor editor, int row, int column) {
Component c = super.prepareEditor(editor, row, column);
if (c instanceof JTextComponent) {
((JTextComponent) c).selectAll();
}
return c;
}
...しかし、私はコンボボックスをどうするかを理解することができませんでした。
1つの可能性は独自のTableCellEditorである可能性がありますが、もっと簡単な解決策があればいいでしょう=)
br、トウコ