【发布时间】:2015-09-10 11:08:36
【问题描述】:
我们在一个非常古老的大型应用程序中使用 JTable 来显示一些信息。到目前为止,我们正在开发 Jre 1.7.0_17 或 1.7.0_51。最近我们尝试使用升级到 1.7.0_75 的 JRE 来测试我们的应用程序。 我们注意到,当显示 JTable 时,第一次只出现一行。然而,在调试期间,我们看到所有行的数据都被添加到表中。我尝试了刷新、重新验证、重新绘制、fireTableDataChanged 等,但仍然只是第一次只出现第一行。如果我们再次隐藏并显示表格,所有行都会开始出现。还在 JRE 1.7.0_80、1.8.0_31、1.8.0_45 和 1.8.0_51 上进行了测试,并且该问题是可重现的。 任何提示都会有所帮助。
(注意:该应用程序是在非常旧的 java 版本上开发的,并且一直使用旧样式的摆动对话框)
提前致谢!
【问题讨论】:
-
Swing GUI 对象应仅在event dispatch thread 上构造和操作。
-
是的,这是小心的!
-
如需尽快获得更好的帮助,请发帖minimal reproducible example 或Short, Self Contained, Correct Example。
-
我会尝试提供一个...但最令我惊讶的是,在新 JRE 上运行良好的东西开始表现不同。
-
".. 最令我惊讶的是,在新的 JRE 上运行良好的东西开始表现不同。" 代码可以做的很多事情都会产生不同的效果结果在不同的机器或 Java 版本上。我很惊讶您会花时间讨论让您感到惊讶的事情,而将这些时间投入到制作 MCVE 上会更好。