2014-05-10 63 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来交换视图也许。 –