java - JFrame 关闭问题

标签 java swing user-interface jframe jpanel

我有 Main 类,StartFrame 扩展了 JFrame,而 UserPanel 扩展了我添加到 StartFrame 的 JPanel。我在 UserPanel 中有按钮,按下按钮时如何关闭 StartFrame(我熟悉事件处理,这不是问题,问题是如何将信息发送到 StartFrame)。或者最好只更改框架的面板(如果需要大小)并重新使用它?

最佳答案

如果您想关闭包含组件的窗口,您需要对该窗口的引用,而 SwingUtilities 有一个方法可以帮助您实现这一点:getWindowAncestor(Component c)。然后您可以在返回的窗口上调用 dispose()

即,

Window win = SwingUtilities.getWindowAncestor(myJPanel); 
win.dispose();

请注意,如果您使用它来结束您的 GUI,这很好,但如果您的目标是交换 View ,那么更好的建议是不要交换 Windows,而是让主 JFrame 可见,而是交换它使用 CardLayout 显示的组件。

关于java - JFrame 关闭问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13791512/

相关文章:

c++ - 如何在不同的 QT 线程中创建一个窗口?

java - 修改传递给方法的对象的最佳做法是什么

java - 线程 "main"java.lang.NoClassDefFoundError : DiServer <wrong name: ds/DiServer> 中的异常

java - JTable 单元格中的多个 JCheckBoxes

java - JRadioButton 调用选项

java - BorderLayout延迟问题

java - JTextArea 中的滚动条

java - weblogic上的Spring Java配置

java - 在 Java 中自动填充字段 WebView

html - Firefox 如何在不使用 about : memory? 的情况下监控选项卡内存使用情况