2010-12-15 96 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