2011-01-28 110 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()是一個很好的調試工具。

編輯:我錯過了有評論提到這一點,對不起。