我正在尝试制作一个小游戏,首先会向玩家显示一个简单的登录屏幕,他们可以在其中输入自己的名字(稍后我需要它来存储他们的游戏状态信息),让他们选择难度级别等,并且只会在玩家点击播放按钮后显示主游戏屏幕。我还想让玩家导航到一个(希望对他们来说相当大)奖杯 Collection ,同样在他们看来是一个新屏幕。
到目前为止,我有一个带有网格布局的主游戏窗口和一个可以运行的游戏(对我来说太棒了!)。现在我想添加上面的功能。
我该怎么做呢?我不认为我想走多个 JFrame 路线,因为我一次只希望在任务栏中显示一个图标(或者将它们的可见性设置为对图标也产生错误影响?)我是否改为制作和销毁布局或面板或像那样的东西?
我有哪些选择?如何控制显示的内容?尤其是考虑到我的新手技能?
最佳答案
一个简单的模态对话框(例如 JDialog)在这里应该能很好地工作。调用对话框时可能是 JFrame 的主 GUI 可能是不可见的,然后在对话框完成后设置为可见(假设登录成功)。如果对话框是模态的,您将确切知道用户何时关闭对话框,因为代码将在您在对话框中调用 setVisible(true) 的行之后继续。请注意,JDialog 拥有的 GUI 可能与 JFrame 拥有的一样复杂和丰富。
另一种选择是使用一个 GUI/JFrame,但通过 CardLayout 在主 GUI 中交换 View (JPanel)。这可以很好地工作并且易于实现。查看CardLayout tutorial了解更多。
哦,欢迎来到 stackoverflow.com!
关于Java Swing : How can I implement a login screen before showing a JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7323086/
由于近期询要的人过多,自行加群769119544领取源码目录一、功能需求二、数据字典1.数据流条目2.文件条目三、用例图四、数据流图五、E-R图六、系统框架 七、数据库设计八、界面设计九、代码展示1、数据表对象层(domain层)1.1、房间对象初始化1.2、旅客对象初始化1.3、 管理员对象初始化2、数据访问对象层(dao层)2.1、房间相关信息2.2、旅客信息2.3、管理员信息3、util包3.1、JDBC交互数据库(DBUtil)3.2、实时时间(DateUtil)4、业务层(server层)4.1、房间(RoomContorller)4.2、旅客(RoomInContorller)4.