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

在另一个类中处理JFrame[重复]

颛孙玉石
2023-03-14

我有一个关于JFrames和正确处理它们的快速问题。我有一个有多个关卡的游戏,我希望在使用新关卡创建另一个关卡时处理使用中的框架。

我目前正在开发的程序扩展了一个JFrame,这一直让我感到困惑,因为我不知道那个JFrame叫什么。

无论如何,我有另一个扩展JPanel的类。在这个类中,我有一个方法,当游戏状态完成时,删除所有实例并关闭JFrame。然而这不起作用,因为我无法获取框架的框架,相反,我得到了同一个JFrame的多个实例。

所以我的设置是这样的:

1类扩展JFrame。。。。

类2扩展了JPanel......方法(清除所有内容以获得新级别的新JFrame)...

对不起,如果这是含糊不清的,我不想张贴一个简短的问题数百行代码。我知道其他人也问过这个问题,但我似乎永远无法让它为我工作。

再一次,我的问题是如何在另一个类方法中关闭JFrame。

(请注意,一切都很好,我只是无法关闭框架,否则它会完全断裂)

共有1个答案

张成济
2023-03-14

dispose()是一种疯狂级别的方法。如果您有对象o,它是JFrame或继承的类,那么应该处理它。如果您不确定在处理o时是否初始化了它,那么

if (o != null) {
    o.dispose();
}

如果您只是从某处调用dispose(),如果该对象/类没有dispose对象,则会出现异常。因此,如果您想从类A中释放o,那么您应该在其中一个方法中调用o.dispose(),但要确保在此之前正确初始化o。

 类似资料:
  • 如何从另一个类中处理?下面列出了我的代码。 处置类别: <代码>主窗口。main\u f.dispose()不起作用,因为它不是变量。你能帮助我吗?

  • 可以使用另一个jFrame的按钮来处理jFrame吗?如果可能的话,这些代码在netbeans中应该是什么样子?

  • 问题内容: 如何从另一个类中处置JFrame?我的代码在下面列出。我使用Netbeans生成表单来生成窗口。我想使用另一个类进行处理(名称为needDispose)。 NETBEANS GENERATE (重要方法是getMainFrame()) 问题答案: 这是一个如何从另一个本身就是JFrame的类中释放JFrame的示例:

  • 问题内容: 我下棋。我写了3节课。如果是游戏则为第一。(棋盘,棋子等),另外一个用于菜单。(新,打开,设置时间等按钮) 他们两个都使用JFrame。 我想将上述两个类都放在第3类中。例如,“游戏”窗口在左侧,菜单在右侧。第三类还将通过JFrame显示整个应用程序。 怎么做? 问题答案: 您不能将一个JFrame放入另一个。您在这里有几个设计选择。您可以将JFrames更改为JPanels。这可能是

  • 问题内容: 我试图从另一个类调用重绘。但这行不通。我必须画一个框架。 此打印 因此它不会执行该部分。不管用。为什么? 问题答案: 看一下这个页面,看看第一个答案。这是一个与您的问题类似的,甚至不是确切的问题。 JFrame的方法已被弃用。编译器或您的IDE应该有点抱怨,特别是如果您将标记直接放置在方法上方(使用它来测试是否可以重写此方法,也就是您想做的事情)。 这意味着不鼓励使用它,并且某些功能可

  • 我想在构造函数外部或从另一个类更新已创建控件的JLabel。在这里,我创建了一个控件,并在构造函数中添加了一些组件。UI是在main中创建的,但是我想更新这个类之外的一些标签。所以我创建了setResult(最终字符串文本,最终字符串路径)来做这样的事情,但它不起作用。。。。 我的问题是setResult不起作用。我不知道为什么。有人能帮忙吗?谢谢