我想从未提交的单元格中获取价值(单元格处于编辑模式)-“实时”;可能吗?
我尝试了此操作,但只有在我提交数据后才有效-按Enter键
int row = jTable.getSelectedRow();
int col = jTable.getSelectedColumn();
String cellValue = jTable.getValueAt(row, col).toString();
我想在不退出键值的情况下获取键值,在输入时实时获取此文本
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) {
int row = jTable.getSelectedRow();
int col = jTable.getSelectedColumn();
if (e.getID() == KeyEvent.KEY_RELEASED) {
if (jTable.isEditing())
jTable.getCellEditor().stopCellEditing();
String cellValue = (jTable.getValueAt(row, col)!=null) ? jTable.getValueAt(row, col).toString() : "";
System.out.println(cellValue);
}}
jTable.getCellEditor()。stopCellEditing()-键入时造成难看的输入/输出动画
@camickr抱歉让您感到困惑。您的解决方案还可以。 我只需要添加jTable.editCellAt(row,col);回到编辑模式。
再次感谢
答案 0 :(得分:1)
单元格处于编辑模式
在将值保存到模型之前,必须停止编辑。
最简单的方法是使用:
Ek
创建表时。
现在,当您单击按钮进行处理时,表格将失去焦点,因此将保存数据。
查看Table Stop Editing了解更多信息。