在 Swing 中实现后退按钮功能 [重复]
Posted
技术标签:
【中文标题】在 Swing 中实现后退按钮功能 [重复]【英文标题】:Implementing back button functionality in Swing [duplicate] 【发布时间】:2014-02-07 10:40:13 【问题描述】:我在实现后退按钮功能时遇到问题。
我有 2 个帧(主帧和第二帧),所以当我按下主帧上的按钮时,它会将我带到第二帧。在第二个框架上,我有一个后退按钮,它将我带回主框架。这按预期工作。但问题是,一旦我在按下返回按钮后回到主框架上,主框架的所有对齐都会消失。
在主框架上,我有以下代码可以转到第二个框架:
frame.dispose();
frame.setVisible(false);
WebAppTest object = new WebAppTest();
object.createAndShowGUIWebAppTest();
在第二帧我使用下面的代码返回主帧:
MainLanding object = new MainLanding();
object.createAndShowGUIMainLanding();
frame1.dispose();
frame1.setVisible(false);
【问题讨论】:
我建议您创建一个Minimal, Complete, Tested and Readable example,这样我们可以更轻松地为您提供帮助。 Implementing back/forward buttons in Swing 中的示例为此使用了CardPanel
。
【参考方案1】:
您最好使用包含CardLayout
的单个JFrame 并在CardLayout
中选择您需要的正确面板,而不是在完全不同的帧之间切换。因此,您有一个窗口,然后在该窗口中有多个不同的面板,您可以在任何给定时间选择要显示的面板。
如果您仍然决定采用分离帧路线,则不应处理第一帧并将其隐藏。只需隐藏它,然后在您想要返回时再次显示它。
【讨论】:
另见The Use of Multiple JFrames, Good/Bad Practice?(我认为这个答案确定了最好的替代策略。)以上是关于在 Swing 中实现后退按钮功能 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 TableViewController 中实现后退导航按钮?
Android Studio:如何从 Fragment 在 ActionBar 中实现后退按钮
用java编写的swing程序。如何在主界面中实现刷新的功能,就是让主界面的组件刷新