2014-05-10 65 views
-1

Java的工作,我有這個包用的JFrame和JPanel的

GUI

--Gui.java (JFrame) 
    --Game.java (JPanel) 

,我想開的JPanel(HRA)從JFrame中(GUI)後,我按下按鈕,我的代碼看起來像

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           
    // connect: 
    this.setVisible(false); 
    new Hra().setVisible(true); 
} 

但是當我啓動Gui並按下按鈕時,程序不起作用,程序仍在運行。

謝謝你的回答

+1

所以,你的代碼創建一個新JPanel,將它添加到什麼上,將其設置爲可見,並期望顯示它。由於JPanel和其他組件必須被添加到頂層窗口才能顯示,所以Swing不能這樣工作。看起來你在猜測這一點,而且我可以通過告訴你不要猜測這些東西,因爲你總會猜錯。谷歌和閱讀教程,因爲他們不會導致你錯了。 –

+0

@ hovercraft-full-of-eels我正在尋找一些內容,但是沒有人告訴我任何想法,你對我的problrm有一些好的內容嗎?我需要Jform去Jpanel,但我仍然不知道該怎麼做... – YogiBear

+0

最好的教程是點擊一下。將鼠標懸停在[tag:swing]上,然後單擊信息鏈接,在那裏您將找到創建Swing GUI所需的所有教程。進入[Swing教程鏈接](http://docs.oracle.com/javase/tutorial/uiswing/)並查看使用JPanels和JFrames的使用組件子部分。還請查看佈局管理器教程,瞭解如何將這些內容放在一起。看看你可以找到與每個教程相關的示例程序。 –

回答

0

你剛剛初始化jpanel。您需要將其添加到JFrame還有:

未經測試的代碼:// 假設這個按鈕直接添加框架

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           
    this.getContentPane().add(new Hra()); 
    this.pack(); 

} 
+0

什麼是「f」?這是班還是? – YogiBear

+0

這是一個錯字,編輯了答案:) –

+0

更好地使用CardLayout來交換視圖也許。 –