需要有关如何从JPanel中关闭父JFrame的帮助

时间:2016-12-21 12:01:26

标签: java swing jframe jpanel

我已经搜索过,找不到我需要做的以下答案:我有两个java文件:一个JFrame,一个JPanel。我在JFrame中配置了一个按钮,从主框架中打开JPanel,新大小为800,800。现在,我想关闭JPanel并返回原始的JFrame(最初的大小为500,500的图像)。这似乎很简单,但我已经在JPanel中创建了一个主框架的实例,并将jPanel设置为(this.setVisible(false))。我创建了一个新的jFrame对象,并将其可见性设置为true。会发生什么情况,JFrame的新实例显示正常,但仍然显示没有图像的800,800的JFrame。我尝试了getContentPane()setContentPane()的几种配置,甚至尝试将JFrame参数传递给JPanel的构造函数。我不知道我在哪里出错,但任何帮助都会非常感激。我想要的只是原始的JFrame,显示原始大小和图像。提前谢谢。

private void jButton_closeActionPerformed(java.awt.event.ActionEvent evt) {                                              

    this.setVisible(false);
    mainMenuFrame = new MainMenuFrame();
    mainMenuFrame.setVisible(true);
    invalidate(); validate();
    repaint();

}                                             

1 个答案:

答案 0 :(得分:0)

您可以在JFrame中打开和关闭jpanel。该按钮也将添加到jframe而不是jpanel。为了便于访问,使用jpanel作为成员变量