2012-09-22 49 views
4

我有一個JMenuBar的GUI,問題是有時JMenu不會出現,直到我調整或最小化JFrame。有人能幫我嗎?JMenu不會出現,直到我最小化或調整JFrame的大小

+3

通過向我們提供[SSCCE]幫助您使用(http://sscce.org/) – MadProgrammer

+1

如果沒有能夠再現您的問題的代碼,我們無法幫助您。請保持儘可能簡單。 –

+3

檢查您的[*初始線程*](http://download.oracle.com/javase/tutorial/uiswing/concurrency/initial.html)用法,並設置'setVisible()'_last_。 – trashgod

回答

5

我有同樣的問題,我通過在菜單代碼後面設置JFrame來解決它。所以,你首先要創建一個JFrame後添加JMenuBar,並在最後:frame.setVisible(true);(我的框架就被稱爲「幀」與您框架的名稱代替「框架」)

+0

非常感謝你,解決了我的問題! –

2

另一個不那麼漂亮比@馬爾科的解決方案,在撥打frame.setJMenuBar()後致電frame.revalidate()

+0

在運行時稍後添加更多菜單項時,效果會更好。切換setVisible(...)會導致窗口在每次更改時閃爍。 – user515655

相關問題