java开发坦克大战.docx
- 文档编号:12586938
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:10
- 大小:17.46KB
java开发坦克大战.docx
《java开发坦克大战.docx》由会员分享,可在线阅读,更多相关《java开发坦克大战.docx(10页珍藏版)》请在冰豆网上搜索。
java开发坦克大战
坦克大战游戏演示
为什么选择这个项目
1、好玩
2、涉及到java各个方面的技术
1、java面向对象编程;2、界面编程;3、绘图技术;4、多线程;5、文件i/o操作;6、数据库
3、巩固旧知识,学习新知识
java绘图坐标体系
绘图坐标本系--介绍
坐标原点位于左上角,以像素为单位。
像素是计算机屏幕上最小的显示单位。
在java的坐标系中,第一个是X坐标,表示当前位置为水平方向,距离坐标原点X个像素;第二个是Y坐标,表示当前位置为垂直方向,距离坐标原点Y个像素。
坐标体系--像素
计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。
例如,计算机显示器的分辨率是800×600,表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480000个像素。
现在的计算机可以支持更高的分辨率,也就是说,屏幕上可以显示更多的像素。
因此,像素是一个密度单位,而厘米是长度单位,两者无法比较。
绘图原理
(1)[]
Component类提供了两个和绘图相关最重要的方法:
1、paint(Graphicsg)绘制组件的外观
刷新组件的外观repaint()、2.
当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件
import.*;
import.*;
publicclassWindow013extendsJFrame{
;
7、画字符串drawString(Stringstr,intx,inty);
8、设置画笔的字体setFont(Fontfont);
9、设置画笔的颜色setColor(Colorc);
;
import.*;
publicclassWindow014extendsJFrame{
;
import.*;
publicclassWindow015extendsJFrame{
;
import.*;
publicclassWindow016extendsJFrameimplementsActionListener{
畱污?
黑色)){
点击了黑色按钮);
;
敽獬?
晩?
攮畱污?
红色)){
点击了红色按钮);
;
}else{
不知道);
}
}
}
classCatimplementsActionListener{
publicvoidactionPerformed(ActionEventarg0){
晩?
攮畱污?
黑色)){
也知道你按下了黑色按钮);
敽獬?
晩?
攮畱污?
红色)){
也知道你按下了红色按钮);
}else{
);
也不知道}
}
}
------------------------------------------------------------------------------
[]实例/**
功能:
加深对事件处理机制的理解*
*1、通过上下左右键,来控制一个小球的移动。
*/
import.*;
import.*;
publicclassWindow017extendsJFrame{
当文本区和文本域的文本发生改变时发生TextEvent
当一个窗口激活、关闭、失效、恢复、最小化...
WindowEvent
3、事件监听器接口
事件源产生一个事件,可以传送给事件监听者处理,那么怎样才能编写一个事件监听者呢?
事件监听者实际上就是一个类,该类实现了某个事件监听器接口、比如前面我们案例中的MyPanel就是一个类,它实现了ActionListener接口,它就可以作为一个事件监听者,对接受到的事件进行处理。
事件监听器接口有多种,不同的事件监听器接口可以监听不同的事件,一个类可以实现一个事件监听接口,也可以实现多个监听接口,这些接口在和包中定义。
java事件处理机制--总结
总结--事件编程步骤:
1、编写事件处理类(事件监听者)
2、根据需求给事件处理类实现监听器接口
其事件处理的函数)实现(、在事件处理中重写3.
4、在事件源类中指定该事件的监听器(响应者)是谁
注意事项:
1、java采用委托机制处理事件
2、java中的事件是分类的,比如对窗体事件、鼠标事件、按键事件、操作事件[按按钮]
3、java中一个类要监听某个事件,则必需实现相应的事件监听接口
4、事件监听接口有多种,程序员应当针对不同的情况,实现不同的监听接口,比如监听鼠标事件就应当实现MouseListener;要监听键盘事件,就应当实现KeyListener..
5、在实现监听接口的类(事件监听类/者)中,需要重写处理函数,比如实现了ActionListener接口,就应当重写actionPerformed(ActionEvente),可以参考前面的事件监听器接口表格
6、在事件源中需要注册事件监听类。
否则事件监听类接收不到事件源发生的事件。
一个类要实现监听的步骤:
a、实现相应的接口[KeyListener/MouseListener/ActionListener/WindowListener]
b、把接口的处理方法根据需要重新编写(Override)
c、在事件源上注册监听
d、事件传递是靠事件(类)对象
实例[]
/**
*单事件源、多事件监听,多事件处理
*/
import.*;
import.*;
publicclassWindow018extendsJFrame{
tart()会导致run函数运行
}
}
classCatextendsThread{
inttimes=0;
+n得到和
*2、另一线程每隔1秒输出一次helloworld!
*/
publicclassThread03{
publicstaticvoidmain(String[]args){
Pigpig=newPig(10);
Birdbird=newBird(10);
etName()得到当前线程的名字
正在售出第?
畮獭尫张票);
nums--;
}else{
.都是文件。
文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频、声音...等
文件流--基本概念
文件在程序中是以流的形式来操作的。
.
流:
数据在数据源(文件)和程序(内存)之间经历的路径
输入流:
数据从数据源(文件)到程序(内存)的路径
输出流:
数据从程序(内存)到数据源(文件)的路径
如何判断是输入流、输出流?
以内存为参照,如果数据流向内存流动,则是输入流;反之,则是输出流。
文件流--分类
java流分为两种流
1、字节流:
可以用于读写二进制文件及任何类型文件byte
2、字符流:
可以用于读写文本文件,不能操作二进制文件
字节流字符流
Reader
输入InputStream
输出OutputStreamWriter
常用io流--文件对象
目的:
文件数据源File类介绍(文件流对象中最为重要的File类,对File了解后对子类理解会更加容易)
File类--使用[]
/**
*File类的基本用法
*/
import.*;etName());
}
}
}
}
------------------------------------------------------------------------------
java文件编程--常用io流
常用io流--文件字节流
1、案例[]:
读取文件(文件字节输入流使用,目的:
FileInputStream类)把用FileInputStream的对象把文件读入到内存
/**
*File类的基本用法
*io流--文件字节流
*FileInputStream类的使用
*/
import.*;
publicclassIo02{
publicstaticvoidmain(String[]args){
;
publicclassIo03{
publicstaticvoidmain(String[]args){
Filef=newFile(e:
\\ff\\);;
publicclassIo04{
publicstaticvoidmain(String[]args){
//先将图片读入到内存,再将内存中的图片写入到某个文件
因为二进制文件只能拿使用字节流来处理//
//输入流
FileInputStreamfis=null;
//输出流
FileOutputStreamfos=null;
try{
fis=newFileInputStream(e:
\\ff\\);
fos=newFileOutputStream(e:
\\);
bytebuf[]=newbyte[1024];
intn=0;//记录实际读取到的字节数
//循环读取图片
while((n=(buf))!
=-1){
//输出到指定文件
(buf);
}
}catch(Exceptione){
();
}finally{
//一定要关闭打开的文件流
try{
();
();
}catch(Exceptione){
();
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 开发 坦克 大战