2011-01-28 115 views
1

晚上好的计算器。 我有一个涉及JOptionPanes的问题。 每隔一段时间,他们都不会显示我提供的内容。 这里来说明我的问题: 这是它应该是什么样子: enter image description hereJDialogBox不间断地显示内容

,并每隔一段时间,这是它显示: enter image description here

继承人的函数调用来构建的东西。 “面板”只是一个简单的JPanel,添加了小部件。

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

这让我发疯的事情是它是间歇性的,所以我不知道是什么造成了这种情况。 任何想法?

+0

你在调用EDT上的代码行吗? – 2011-01-28 19:07:33

回答

1

您应该确保您在事件派发线程上调用JOptionPane更新代码。摆动组件应该在EDT上更新以确保它们被正确重新绘制,大部分更新不正确的问题都是因为它没有在EDT上被调用。

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

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