gpt4 book ai didi

java - 选择时 JTable 没有更新

转载 作者:行者123 更新时间:2023-12-04 07:09:05 26 4
gpt4 key购买 nike

当我在 JTable 中选择一行时,我的 JTable 不再更新。
当我不选择一行时,下面的代码按预期工作。一行被添加到 JTable。

    @Override
public void update (Observable arg0, Object arg1)
{
if (arg0 instanceof Logger)
{
LogItem last = systemController.logController.getLog().getLastLogItem();
this.history.add(last);
this.logTableModel.addItem(last);

this.logTable.tableChanged(new TableModelEvent(this.logTableModel));
((DefaultTableModel)this.logTable.getModel()).fireTableStructureChanged();
this.logTable.repaint();
this.logTable.doLayout();
}

}

当我关闭窗口并重新打开它时,我可以看到新行。

有人能解释一下为什么在选择一行后,我在 JTable 中看不到任何更新吗?

最佳答案

update() 调用是否发生在 Swing 事件线程中?如果不是,代码将需要用以下内容包装:

SwingUtilities.invokeLater(new Runnable() { public void run() {
logTableModel.addItem(last);
}});

关于java - 选择时 JTable 没有更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/652507/

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