2012-09-22 54 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

相关问题