java开发坦克大战

java开发坦克大战
java开发坦克大战

j a v a开发坦克大战 The document was finally revised on 2021

坦克大战游戏演示

为什么选择这个项目

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(Graphics g)绘制组件的外观

2、repaint()刷新组件的外观

当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件import .*;

import .*;

public class Window013 extends JFrame{

;

7、画字符串 drawString(String str,int x,int y);

8、设置画笔的字体 setFont(Font font);

9、设置画笔的颜色 setColor(Color c);

;

import .*;

public class Window014 extends JFrame{

;

import .*;

public class Window015 extends JFrame{

etImage"/"));

;

import .*;

import class Window016 extends JFrame implements ActionListener{ quals("黑色")){

"点击了黑色按钮");

;

}else if().equals("红色")){

"点击了红色按钮");

;

}else{

"不知道");

}

}

}

class Cat implements ActionListener{

public void actionPerformed(ActionEvent arg0) {

if().equals("黑色")){

"Cat也知道你按下了黑色按钮");

}else if().equals("红色")){

"Cat也知道你按下了红色按钮");

}else {

"Cat也不知道");

}

}

}

------------------------------------------------------------------------------

实例[]

/**

* 功能:加深对事件处理机制的理解

* 1、通过上下左右键,来控制一个小球的移动。

*/

import .*;

import .*;

public class Window017 extends JFrame {

3、事件监听器接口

事件源产生一个事件,可以传送给事件监听者处理,那么怎样才能编写一个事件监听者呢?

事件监听者实际上就是一个类,该类实现了某个事件监听器接口、比如前面我们案例中的MyPanel就是一个类,它实现了ActionListener接口,它就可以作为一个事件监听者,对接受到的事件进行处理。

事件监听器接口有多种,不同的事件监听器接口可以监听不同的事件,一个类可以实现一个事件监听接口,也可以实现多个监听接口,这些接口在和包中定义。

java事件处理机制--总结

总结--事件编程步骤:

1、编写事件处理类(事件监听者)

2、根据需求给事件处理类实现监听器接口

3、在事件处理中重写(实现)其事件处理的函数

4、在事件源类中指定该事件的监听器(响应者)是谁

注意事项:

1、java采用委托机制处理事件

2、java中的事件是分类的,比如对窗体事件、鼠标事件、按键事件、操作事件[按按钮]

3、java中一个类要监听某个事件,则必需实现相应的事件监听接口

4、事件监听接口有多种,程序员应当针对不同的情况,实现不同的监听接口,比如监听鼠标事件就应当实现MouseListener;要监听键盘事件,就应当实现KeyListener..

5、在实现监听接口的类(事件监听类/者)中,需要重写处理函数,比如实现了ActionListener接口,就应当重写actionPerformed(ActionEvent e),可以参考前面的事件监听器接口表格

6、在事件源中需要注册事件监听类。否则事件监听类接收不到事件源发生的事件。

一个类要实现监听的步骤:

a、实现相应的接口

[KeyListener/MouseListener/ActionListener/WindowListener]

b、把接口的处理方法根据需要重新编写(Override)

c、在事件源上注册监听

d、事件传递是靠事件(类)对象

实例[]

/**

* 单事件源、多事件监听,多事件处理

*/

import .*;

import .*;

import class Window018 extends JFrame{

tart()会导致run函数运行

}

}

class Cat extends Thread{

int times=0;

+n得到和

*2、另一线程每隔1秒输出一次hello world!

*/

public class Thread03 {

public static void main(String[] args) {

Pig pig=new Pig(10);

Bird bird=new Bird(10);

etName()得到当前线程的名字

"正在售出第"+nums+"张票");

nums--;

}else{

.都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频、声音...等

文件流--基本概念

文件在程序中是以流的形式来操作的。

流:数据在数据源(文件)和程序(内存)之间经历的路径

输入流:数据从数据源(文件)到程序(内存)的路径

输出流:数据从程序(内存)到数据源(文件)的路径

如何判断是输入流、输出流?

以内存为参照,如果数据流向内存流动,则是输入流;反之,则是输出流。文件流--分类

java流分为两种流

1、字节流:可以用于读写二进制文件及任何类型文件byte

2、字符流:可以用于读写文本文件,不能操作二进制文件

字节流字符流

输入InputStream Reader

输出OutputStream Writer

常用io流--文件对象

目的:文件数据源File类介绍(文件流对象中最为重要的File类,对File了解后对子类理解会更加容易)

File类--使用[]

/**

* File类的基本用法

*/

import .*;etName());

}

}

}

}

------------------------------------------------------------------------------

java文件编程--常用io流

常用io流--文件字节流

1、案例[]:读取文件(文件字节输入流使用,目的:FileInputStream类)把用FileInputStream的对象把文件读入到内存

/**

* File类的基本用法

* io流--文件字节流

* FileInputStream类的使用

*/

import .*;

public class Io02 {

public static void main(String[] args) {

;

public class Io03 {

public static void main(String[] args) {

File f=new File("e:\\ff\\");;

public class Io04 {

public static void main(String[] args) {

//先将图片读入到内存,再将内存中的图片写入到某个文件

//因为二进制文件只能拿使用字节流来处理

//输入流

FileInputStream fis=null;

//输出流

FileOutputStream fos=null;

try {

fis=new FileInputStream("e:\\ff\\");

fos=new FileOutputStream("e:\\");

byte buf[]=new byte[1024];

int n=0;//记录实际读取到的字节数

//循环读取图片

while((n=(buf))!=-1){

//输出到指定文件

(buf);

}

} catch (Exception e) {

();

}finally{

//一定要关闭打开的文件流

try {

();

();

} catch (Exception e) {

();

}

相关主题
相关文档
最新文档