Java使用JFrame和JPanel

Java使用JFrame和JPanel,java,swing,user-interface,Java,Swing,User Interface,我有这个包裹 桂 我想在按下按钮后从JFrame(Gui)打开JPanel(Hra),我的代码如下所示 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // connect: this.setVisible(false); new Hra().setVisible(true); } 但当我启动G

我有这个包裹

我想在按下按钮后从JFrame(Gui)打开JPanel(Hra),我的代码如下所示

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // connect:
    this.setVisible(false);
    new Hra().setVisible(true);
} 
但当我启动Gui并按下按钮时,程序不工作,程序仍在运行


感谢您的回答

您刚刚初始化了jpanel。您还需要将其添加到jframe中:

未测试代码: //假设此按钮直接添加到框架上

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

}

什么是“f”?使用CardLayout交换视图可能是类还是?更好。我同意,CardLayout使导航更容易、更清晰。但OP问题更具体地添加了JPanel:)。。。这是错误的,因为原来的海报不知道什么更好。他在这里胡乱猜测。说这样的话未免太冒昧了。CardLayout对于OP来说可能是一个过火的东西,可能只是使用一些简单的东西,比如SplitPane,也许可以完成任务,你不知道!你怎么能在不知道需求的情况下推荐这样的东西呢。我的看法是,您的代码创建了一个新的JPanel,将其添加为空,将其设置为可见,并希望显示它。Swing不能这样工作,因为JPanel和其他组件必须添加到顶级窗口才能显示。看起来你在猜这个,我可以根据经验告诉你,你不应该猜这些东西,因为你总是猜错。谷歌和阅读教程,因为它们不会误导你。@hovercraft充满鳗鱼我在找一些图坦卡门,但没有人告诉我,你有一些好的图坦卡门来解决我的问题吗?我需要以Jform的形式转到Jpanel,但我仍然不知道如何做到这一点……最好的教程只需点击一下即可完成。将鼠标悬停在上并单击“信息”链接,您将在那里找到创建Swing GUI所需的所有教程。进入并查看关于JPanels和JFrames的使用组件小节。还可以查看布局管理器教程,了解如何将这些内容组合在一起。请看与每个教程相关的示例程序。@hovercraft充满了鳗鱼,当我使用JFrame时,它可以工作。但我认为这不是最好的帮助更快,张贴一个(最小的完整和可验证的例子)。
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
    this.getContentPane().add(new Hra());
    this.pack();

}