我有 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/