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