我所知道坦克大战(单机版)之Client窗口的创建、关闭、禁止调整大小
前言需求
本篇文章开始根据尚学堂马士兵老师的教学视频:坦克大战,进行展开学习
本篇文章目的
- 产生窗口
- 添加不允许移动窗口大小的处理
- 添加关闭窗口的事件处理
一、创建窗口
创建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() {@Overridepublic void windowClosing(WindowEvent e) {//正常处理表示正常退出System.exit(0);}});//不允许随意调整窗口大小的方式this.setResizable(false);
}
这个是表示在窗口添加一个Windows事件消息,目的是我们关闭窗口的时候可以正常的退出,其实这段语句等价于
frame.setDefaultCloseOptration(JFrame.EXIT_ON_CLOSE);
在语句中new WindowAdapter表示新的创建WindowAdapter的对象
中间是对一个函数也就是windows窗口关闭函数进行重写
接下来,我们就可以运行发现无法修改窗口大小,也可以正常关闭了
参考资料
尚学堂:坦克大战(马士兵老师)
我所知道坦克大战(单机版)之Client窗口的创建、关闭、禁止调整大小相关推荐
- 初学java 第一个java程序 坦克大战单机版
网上坦克大战的游戏并不少,包括单机版,网络版.然而,作为一名程序员,学一门语言的最好方式莫过于写程序.在写的过程中,你会遇到很多的问题,这个时候你再去找原因,查帮助文档,谷歌百度等等,你的能力才会进步 ...
- Java 坦克大战单机版 源代码
尚学堂版本的修改版 玩法: 方向键:控制走动 Ctrl:控制发弹 A:超级子弹 X:八方向发弹 =:添加敌方坦克 F2:重新开始 其他功能: 在头上实时显示血条 吃到血块时能补血 自动积分 敌方坦克过 ...
- JAVA项目学习之坦克大战单机版
本科阶段尽管学过JAVA课程,却始终感觉在云里雾里.这段时间认真学习了马士兵老师JAVA基础教程,跟着写了TankWar的小项目,感觉对JAVA中类的使用有了许多新的认识,思路比原来也清晰多了,在此总 ...
- Unity学习第一周-物理引擎-项目——坦克大战单机版
项目需求及策划
- 一、坦克大战单机版策划
- 【Unity3D-Mirror多人坦克大战】生命盾牌物品的创建、物品动画的创建(九)
目录 31.物品类基础配置 32.生命盾牌物品创建 33.创建动画 测试 31.物品类基础配置 在ObjectSpawner.cs添加代码 using System.Collections; us ...
- 我所知道坦克大战(单机版)之使用键盘控制改变坦克位置
我们发现前两篇文章所造成的坦克,他只能固定一个方向进行移动 那么对于我们来说,一般要么使用鼠标,要么使用键盘控制 那么我们怎么实现这样的方式呢? 实现键盘监听 在java 中我们使用键盘监听的话有两种 ...
- 坦克大战java_清华毕业大佬用一个坦克大战项目讲完了23种设计模式
先给大家讲述一下坦克大战是怎么进行运行的. 坦克大战第一节: new 出一个窗口: 设定标题栏内容: TankFrame从Frame继承+显示: 认识paint方法,重写: 坦克大战第二节 学习gra ...
- 运用Python+Pygame开发坦克大战游戏_版本V1.01
这里写目录标题 一.项目整体说明 二.pygame下载方式 三.项目文件 1.坦克大战_框架_1.py 2.坦克大战_开始游戏_窗口设置_2.py 3.坦克大战_事件检测_3.py 4.坦克大战_基本 ...
最新文章
- 迁移学习——Domain Adaptation
- Lifecycle Activity和Fragment生命周期感知组件 LifecycleObserver MD
- Set the roller speed
- python中数字应该用什么表示_Python
- 如何隐藏你写的ABAP代码
- mysql的各种语句_MySql常用操作SQL语句汇总
- ExtJS4 API文档阅读(四)——Data
- feign整合sential,Feign中使用Sentinel熔断器防止服务雪崩
- matlab出现红色括号,想让大家看下标红地方为什么说有括号问题
- 全系统动态污点分析-概要
- 虚拟机下ubuntu10.04挂载NFS
- C++多态(二)——纯虚函数、抽象类
- informix利用dbaccess倒出数据
- CCF NOI1087 第K名
- 图形界面上的任意形状图形按钮
- 计算机技术在图形图像处理中的应用,计算机图形图像处理技术综述
- Python 内置函数详解,进阶必备
- LDPC编码原理概述
- 安卓 - jsoup批量下载图片(以每日必应图片示例)
- 楼市十大卖楼花招曝光