2010-12-15 359 views
1

我的程序中有主窗口 - 继承JFrame的类,这个窗口有JMenuBar。Java,swing,JFrame和JPanel

在代码中,我使用一些组件动态创建JPanel实例,并将此面板设置为主窗口作为内容窗格。

但是在这个菜单栏与我的面板相交之后,面板的部分位于菜单栏的后面。这继续下去,直到我改变我的窗口大小。

后此交汇消失,菜单面板下菜单栏放置而不相交。

JFrame view = ApplicationContext.getInstance().getView(); 
JPanel panel = new TherapeuticProfile().getRootPanel(); 
view.setContentPane(panel); 

回答

1

在显示窗口后执行此操作吗?在这种情况下,您将需要revalidate

这样做掉AWT EDT?在这种情况下,你需要停止这样做。

(也静,如ApplicationContext.getInstance()在任何程序中非常糟糕的主意。)

+0

此外...在我的节目,我使用MVC模式和ApplicationContext的是单我是只存储链接到模型,视图和控制器。为什么这是“非常糟糕的主意”? – Dmitriy 2010-12-15 16:08:39

+0

@Dmitriy哦,谷歌“单身是邪恶的”。 – 2010-12-15 16:18:36