gpt4 book ai didi

java - JTable - TableModelEvent 仅更改的值

转载 作者:行者123 更新时间:2023-11-30 07:32:15 24 4
gpt4 key购买 nike

问题是,即使我将单元格值更改为相同的精确值,它也会被视为更改。因此,例如,如果我双击一个单元格并且不更改其值,我的程序将继续将其写入服务器。

如何才能使只有值发生更改的单元格(例如 (x -> y))写入服务器。 (x -> x) 不执行任何操作。

代码如下:

        Misc_Table.getModel().addTableModelListener(new TableModelListener() {

public void tableChanged(TableModelEvent e) {

int row = e.getFirstRow();
int col = e.getColumn();

Doo.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

try{
Object value = model.getValueAt(row, col);

int selected = (int) Functions_ComboBox.getSelectedIndex();

if(selected == 0){
String val = (String) value;
int int_Val = Integer.parseInt(val);
BackEnd.WriteMultiple_16Bit(unitID, row, int_Val , 1);
}
} catch (NumberFormatException e1) {
JOptionPane.showMessageDialog(MISC,"Wrong number format.");
} catch (Exception e2) {
}
}

});
}
});

最佳答案

您可以使用Table Cell Listener .

TableCellListener 替换了 TableModelListener,并且仅在数据实际更改时生成事件,而不是在编辑器停止时生成事件。您只需提供一个在数据更改时调用的Action

关于java - JTable - TableModelEvent 仅更改的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35938705/

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