购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.6 主窗体设计

主窗体是Swing程序中不可或缺的部分,它在人机交互中扮演着至关重要的角色。通过主窗体,用户能够看到游戏画面、操作游戏角色,从而实现与游戏的互动。主窗体除了提供可视化的最外层容器,还承担加载键盘事件监听器和鼠标事件监听器的任务。主窗体会被作为参数传入每个面板中,在面板类中编写的键盘事件和鼠标事件都必须交给主窗体对象加载,以确保这些事件能够被正确地监听到。

本游戏主窗体的设计过程如下:

(1)创建一个Java类,命名为MainFrame,并让它继承自JFrame类,代码如下:

public class MainFrame extends JFrame {
}

(2)在类中创建两个属性,分别用于记录窗体的宽度和高度。本游戏界面采用600(宽度)×600(高度)的尺寸,但是考虑到主窗体有外部边界,所以主窗体的宽度和高度分别采用605和627。代码如下:

(3)编写主窗体的构造方法,在该构造方法中设置窗体的宽高、位置等属性。使用Toolkit工具类获取屏幕尺寸,并计算窗体居中显示的坐标。最后执行三步初始化本游戏的操作:添加监听、载入开始面板、删除自定义关卡。该构造方法的具体代码如下:

(4)构造方法中调用的addListener()方法用于为窗体添加监听,在该方法中为窗体添加了窗体事件,在用户关闭窗体时,会弹出选择框让用户确认关闭操作,如果用户选择“是”,则关闭本游戏,否则不做任何操作。这种确认关闭的功能可以防止用户误关闭本游戏。addListener()方法的代码如下:

(5)构造方法中调用的setPanel()方法是用于切换游戏场景的关键方法。该方法中的panel参数就是要显示的面板,传入panel之后,主窗体会获取主容器对象,然后删除容器中已存在的所有组件,最后重新将panel放入容器中并重新进行校验、显示。这样就完成了场景切换的功能。setPanel()方法的代码如下: PXqpKaxwYP8NEG4tQKOwEiixplMdrpl03UuhClx38C6wbRXvz3xoVMhLEnbXHvqQ

点击中间区域
呼出菜单
上一章
目录
下一章
×