0

晚上好堆栈溢出。我有一个涉及 JOptionPanes 的问题。他们经常不显示我给它的内容。在这里说明我的问题:这应该是这样的: 在此处输入图像描述

每隔一段时间,这就是它显示的内容: 在此处输入图像描述

这是构建事物的函数调用。“面板”只是一个添加了小部件的简单 JPanel。

int a = JOptionPane.showConfirmDialog(null,panel,"Please enter result details",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);

让我发疯的事情是它是间歇性的,所以我不知道是什么原因造成的。有任何想法吗?

4

1 回答 1

0

您应该确保在事件调度线程上调用 JOptionPane 更新代码。Swing 组件应该在 EDT 上更新以确保它们被正确地重新绘制,错误更新的大多数问题是因为它没有在 EDT 上被调用。

如果您不确定自己是否在 EDT,SwingUtilities.isEventDispatchThread() 是一个很好的调试工具。

编辑:我错过了有评论提到这一点,对不起。

于 2011-01-28T20:02:39.977 回答