前言需求
本篇文章开始根据尚学堂马士兵老师的教学视频:坦克大战,进行展开学习
本篇文章目的
- 产生窗口
- 添加不允许移动窗口大小的处理
- 添加关闭窗口的事件处理
一、创建窗口
创建TankClient类,并使用继承Frame类的方式,使用相关方法
public class TankClient extends Frame {
//定义窗口方法
public void lauchFrame(){
//设置窗口出现的位置
this.setLocation(400,300);
//设置窗口的宽度高度
this.setSize(800,600);
setVisible(true);
}
}
接下来运行main 方法
public static void main(String[] args) {
TankClient client = new TankClient();
//打开窗口
client.lauchFrame();
}
二、添加不允许移动窗口大小的处理
运行后发现窗口可以移动调整大小,这样缩放窗口大小会影响很大
所以我们要添加不允许移动窗口的事件处理
//定义窗口方法
public void lauchFrame(){
//设置窗口出现的位置
this.setLocation(400,300);
//设置窗口的宽度高度
this.setSize(800,600);
setVisible(true);
//不允许随意调整窗口大小的方式
this.setResizable(false);
}
public void setResizable(boolean resizable)设置此窗体是否可由用户调整大小。
参数为boolean类型:
resizeable值为true时,表示生成的窗体可以自由改变大小;
resizeable值为false时,表示生成的窗体大小是由程序员决定的,用户不可以自由改变该窗体的大小
三、添加关闭窗口事件处理
//定义窗口方法
public void lauchFrame(){
//设置窗口出现的位置
this.setLocation(400,300);
//设置窗口的宽度高度
this.setSize(800,600);
setVisible(true);
//采用匿名类的方式关闭窗口
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
//正常处理表示正常退出
System.exit(0);
}
});
//不允许随意调整窗口大小的方式
this.setResizable(false);
}
这个是表示在窗口添加一个Windows事件消息,目的是我们关闭窗口的时候可以正常的退出,其实这段语句等价于
frame.setDefaultCloseOptration(JFrame.EXIT_ON_CLOSE);
在语句中new WindowAdapter表示新的创建WindowAdapter的对象
中间是对一个函数也就是windows窗口关闭函数进行重写
接下来,我们就可以运行发现无法修改窗口大小,也可以正常关闭了
参考资料
尚学堂:坦克大战(马士兵老师)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。