gpt4 book ai didi

java - JTable 在未提交时从单元格获取值

转载 作者:行者123 更新时间:2023-12-02 10:59:57 25 4
gpt4 key购买 nike

我想在未提交单元格时从单元格获取值(单元格处于编辑模式)-“实时”;是否可以?

我尝试了这个,但只有在我提交数据时它才有效 - 按 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);返回编辑模式。

再次感谢

最佳答案

cell is in edit mode

在将值保存到模型之前,必须停止编辑。

最简单的方法是使用:

JTable table = new JTable(...);
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

当您创建表时。

现在,当您单击按钮进行处理时,表格将失去焦点,因此数据将被保存。

查看Table Stop Editing了解更多信息。

关于java - JTable 在未提交时从单元格获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51410102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com