我想用 Swing 编写一个简单的学习游戏。
我想知道在 UI 屏幕之间切换的最佳方式是什么。
例如,我将有一个主菜单屏幕,然后当用户按下该屏幕上的一个按钮时,我会将整个屏幕换成一个完全不同的屏幕。
然后,可以随时换入任意屏幕,并且它们的所有事件处理程序将被重新激活,而非活动屏幕的事件处理程序将被停用。
我将为每个“屏幕”使用什么类型的 Swing 组件/控件。这甚至可行吗?
我想用 Swing 编写一个简单的学习游戏。
我想知道在 UI 屏幕之间切换的最佳方式是什么。
例如,我将有一个主菜单屏幕,然后当用户按下该屏幕上的一个按钮时,我会将整个屏幕换成一个完全不同的屏幕。
然后,可以随时换入任意屏幕,并且它们的所有事件处理程序将被重新激活,而非活动屏幕的事件处理程序将被停用。
我将为每个“屏幕”使用什么类型的 Swing 组件/控件。这甚至可行吗?
您可以考虑为此目的使用CardLayout 。
每个“屏幕”都可以制成一个单独的面板。然后你需要一个带有卡片布局的容器面板。您会将所有屏幕添加到该面板。卡片之间的切换很容易,在链接的教程中进行了演示。
您也可以使用JTabbedPane,这样每个屏幕都用一个按钮连接 :-)
您可能不需要重新激活侦听器(尽管事物的“业务”模型结束可能想要检查状态)。简单的开关面板。