gpt4 book ai didi

java - 在单独的类中的 2 个 GUI 之间进行通信

转载 作者:行者123 更新时间:2023-12-04 04:46:17 24 4
gpt4 key购买 nike

所以我有 2 个 Java 类,每个类都创建了一个包含各种组件的 JFrame。每个类(class)都有自己的addComponentsToPane(...)方法是设置框架的内容。这用于 createAndShowGui()在类的 main 方法中调用的方法。

让我们称它们为 A 类和 B 类。所以问题是,在 AI 中有一个按钮,单击该按钮时会启动 B(简单调用 B.main(null) 。我想做的是,当单击按钮时, 它将打开窗口 B 但如果再次单击它不会。现在,我几乎可以通过简单地设置一个 boolean 值来很好地管理它,但问题当然是如果我单击一次,窗口会打开,那很好.. .但如果我关闭窗口 B 并再次单击 A 中的相应按钮,则不会发生任何事情......因为 boolean 值仍在说 B 是打开的。

所以我想知道的是,鉴于这种设置,有没有办法在 B 关闭时重置 A 中的 boolean 值?我在想也许我可以用 WindowListener 做点什么在 B 中,但如果这是一个可能的解决方案,那么我直到还没有想出如何配置它来做..

最佳答案

不要销毁 B 或将引用设置为 null,只需在关闭时隐藏它。您可以在应用程序启动时隐藏创建它,或者只是从 A 按需创建。

A.Button 然后调用 --> B.show()。

如果 B 是 JFrame(它可能应该是),您可以通过调用 JFrame.setDefaultCloseOperation() 设置关闭“X”的行为。 .默认值应该已经是 WindowConstants.HIDE_ON_CLOSE .

关于java - 在单独的类中的 2 个 GUI 之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18120045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com