当前位置: 首页 > 知识库问答 >
问题:

在如何从JPanel中关闭父JFrame方面需要帮助

卢知
2023-03-14

我已经搜索了但找不到答案,我需要执行以下操作:我有两个java文件:一个JFrame,一个JPanel。我在JFrame中配置了一个按钮,从主框架中打开JPanel,新的大小为800,800。现在,我想关闭JPanel并返回到原来的JFrame(原来大小为500,500并带有图像的JFrame)。这看起来很简单,但是我已经在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个答案

董桐
2023-03-14

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

 类似资料:
  • 我有一个带有登录名(JPanel)的JFrame,可以从菜单栏中选择。菜单栏还根据用户角色显示选项。当用户第一次登录创建的JFrame实例时,当我在菜单栏上选择login并在new JFrame上实例化时,我的问题就出现了,因为我显然打开了两个JFrame,我找不到从JPanel隐藏或关闭之前JFrame的方法。在实例化新JFrame或任何其他可能的解决方案之前,有没有办法隐藏/处理所有打开的窗口

  • 我想对我的文件内容进行排序。我的文件内容是学生姓名,他们的学生编号,他们的班级,他们的成绩。这些数据由“;”分隔。首先,我需要计算平均值和字母等级。我已经计算过了,但是我需要将所有内容写入另一个文件,顺序必须是最高等级到最低等级。我该怎么办?

  • 所以,我想用JPanel制作一个菜单屏幕,我让它工作了,但是当我按下开始按钮时,它不会关闭菜单窗口,它只是创建一个新窗口,我如何保持它在同一个窗口上,而不关闭/打开菜单窗口,或者我想关闭菜单窗口并打开游戏窗口(JPanel),当我按下开始按钮时。 这是主课。JAVA 这里是Menu.java班 编辑:感谢@威士忌蜘蛛的帮助,我了解到我做了2帧,没有正确引用它们。但是现在我解决了这个问题,我的监听器

  • 在一个HTML文件中, 包含许多 ,而在另一个 中, 包含许多 。使用我需要的JavaScript,当我悬停在第一个上时,第一个 的背景颜色会发生变化,以此类推... 匿名用户 你的问题是如此令人困惑,提供一个屏幕截图或绘图表明你实际想要什么。

  • 问题内容: 当我需要时会出现一个新的JPanel(超过了时间限制或用户按下了“提交”按钮)。但是几秒钟后,旧的JPanel的某些元素就会与新的JPanel的组件一起出现。我不明白为什么会这样。 我以为是因为我必须对其他线程更新窗口。但是第一个线程只需将旧面板添加一次(因此,应该完成)。在第二个线程中,我有一个中断的循环(因此,它也应该完成)。 这是我的代码: 问题答案: 从容器(框架)中删除组件(

  • 所以,我试图为一个简单的游戏制作一个基本的功能菜单。我试图通过创建2个JPanels来做到这一点,一个用于实际游戏,另一个用于我的菜单。 我要做的是在我的菜单面板上有一个按钮,当按下这个按钮时,将显示在父JFrame中的JPanel从菜单切换到实际游戏的JPanel。 这是我的密码: 如你所见,我为我的开始按钮创建了一个监听器。在侦听器内部,我使用了一个time循环,通过方法到达JFrame。程序