在 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 中实现后退按钮功能 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 webview 片段中实现后退按钮

如何在 TableViewController 中实现后退导航按钮?

Android Studio:如何从 Fragment 在 ActionBar 中实现后退按钮

用java编写的swing程序。如何在主界面中实现刷新的功能,就是让主界面的组件刷新

java swing中实现列表中加入单选按钮,单选按钮发生变化时能触发事件

在 Python 中实现 Freshsales API [重复]