我有一个包含 JComboBox 编辑器的 JTable 初始化有点像
JComboBox comboBox = ...;
TableColumn tc = table.getColumnModel().getColumn(i);
tc.setCellEditor(new DefaultCellEditor(comboBox));
这工作正常,但我希望能够在表格中导航并仅使用键盘更新值。现在这可以通过组合框实现,但如果我想更新值“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;
}
...但我还没有弄清楚如何处理组合框。
一种可能性可能是自己的 TableCellEditor 但如果有一个更简单的解决方案会很好 =)
兄弟,图科