(java)应用程序的零星GUI冻结开始

时间:2014-04-15 09:16:53

标签: java swing

在更改为Java 1.7后,我们的GUI出现了一个奇怪的问题。

有时候如果用户启动我们的应用程序它似乎已经冻结,但可能只是没有重绘,因为如果用户尝试滚动,更改窗口并返回应用程序滚动更改是可见的。

如果用户更改为全屏,问题就会解决。

我试图搜索这个问题,但与此最相关的唯一问题是这里没有回答的问题:

http://www.java-forums.org/awt-swing/31107-intermittent-freeze-javawebstart-swing-app.html

可能是你们中的任何人遇到问题并知道解决方案吗?

1 个答案:

答案 0 :(得分:1)

迁移到Java 7可能暴露了原始代码中的潜在问题。以下是一些要注意的事项:

  • 某些API,尤其是列在here中的文本组件,在Java 7中不再标记为线程安全。

  • 您可以使用here引用的方法之一搜索违反EDT的行为。

  • 调整封闭Window的大小会自动生成repaint();如果您的更新以其他方式正确同步,则可以使用repaint()对自己的invokeLater()进行排序。

  • 确认初始化中setVisible() 最后pack()之后