《java开发坦克大战》由会员分享,可在线阅读,更多相关《java开发坦克大战(26页珍藏版)》请在金锄头文库上搜索。
1、坦克大战游戏演示为什么选择这个项目1、好玩2、涉及到java 各个方面的技术1 、 java 面向对象编程; 2、界面编程; 3、绘图技术; 4、多线程; 5、文件 i/o 操作;6、数据库3、巩固旧知识,学习新知识java 绘图坐标体系绘图坐标本系 - 介绍坐标原点位于左上角,以像素为单位。像素是计算机屏幕上最小的显示单位。在 java的坐标系中,第一个是X 坐标, 表示当前位置为水平方向,距离坐标原点X 个像素;第二个是 Y 坐标,表示当前位置为垂直方向,距离坐标原点Y 个像素。坐标体系 - 像素计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。例如,计算机显示器的分辨率是800 6
2、00,表示计算机屏幕上的每一行由800 个点组成,共有600 行,整个计算机屏幕共有480000 个像素。现在的计算机可以支持更高的分辨率,也就是说,屏幕上可以显示更多的像素。因此,像素是一个密度单位,而厘米是长度单位,两者无法比较。绘图原理(1)Window013.javaComponent 类提供了两个和绘图相关最重要的方法:1、 paint(Graphics g)绘制组件的外观2、 repaint()刷新组件的外观当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件import java.awt.*;import javax.swing.*;public class
3、 Window013 extends JFrame/ 定义组件MyPanel mp=null;public static void main(String args) Window013 th=new Window013();public Thread01()/ 创建组件mp=new MyPanel();/ 加入组件this.add(mp);/ 设置窗体this.setSize(400, 300);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisibl
4、e(true);/ 定义一个MyPanel( 我自己的面板是用于绘图和显示绘图的区域)class MyPanel extends JPanel/ 重写 ( 覆盖 )JPanel的 paint方法public void paint(Graphics g)/ Graphics是绘图的重要类,可以把它理解成一只画笔/1 、调用父类函数,完成初始化任务super.paint(g);/ super.paint(g);这句话不能少System.out.println(Paint被调用 ); / 用于测试绘图原理2paint调用/ 先画一个圆g.drawOval(10, 10, 30, 30);/drawO
5、val方法是画圆-绘图原理 (2)在以下情况paint()将会被调用:1、窗口最小化,再最大化2、窗口的大小发生变化3、 repaint函数被调用java 绘图技术 -GraphicsGraphics 类 Window014.javaGraphics 类你可以理解就是画笔,为我们提供了各种绘制图形的方法: 多看jdk帮助文档1、画直线drawLine(int x1,int y1,int x2,int y2);2、画矩形边框drawRect(int x,int y,int width,int height);3、画椭圆边框drawOval(int x,int y,int width,int he
6、ight);4、填充矩形fillRect(int x,int y,int width,int height);5、填充椭圆fillOval(int x,int y,int width,int height);6、画图片drawImage(Image img.int x,int y,.);7、画字符串drawString(String str,int x,int y);8、设置画笔的字体setFont(Font font);9、设置画笔的颜色setColor(Color c);/java画图 Graphics 绘图类的使用方法import java.awt.*;import javax.swin
7、g.*;public class Window014 extends JFrame/ 定义组件MyPanel1 mp=null;public static void main(String args) Window014 th=new Window014();public Window014()/ 构建组件mp=new MyPanel1();/ 加入组件this.add(mp);/ 设置窗体this.setSize(400, 300);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CL
8、OSE);this.setVisible(true);/ 定义一个MyPanel( 我自己的面板是用于绘图和显示绘图的区域)class MyPanel1 extends JPanel/ 重写 ( 覆盖 )JPanel的 paint方法public void paint(Graphics g)/Graphics是绘图的重要类,可以把它理解成一只画笔/1 、调用父类函数,完成初始化任务super.paint(g);/ 画一个直线g. drawLine (10, 10, 40, 10);/ 画矩形边框g. drawRect (50, 50, 40, 40);/ 画椭圆边框g. drawOval (1
9、00, 100, 60, 60);/ 画填充矩形g. setColor(Color.blue);g. fillRect(10, 150, 70, 70);/ 画填充椭圆g. setColor(Color.red);/ 设置画笔颜色g. fillOval(200, 50, 80, 80);-/ 画图 Graphics 画图类 - 画图片 - 画字 Window015.java import java.awt.*;import javax.swing.*;public class Window015 extends JFrame/ 定义组件MyPanel1 mp=null;public stati
10、c void main(String args) Window015 th=new Window015();public Window015()/ 构建组件mp=new MyPanel1();/ 加入组件this.add(mp);/ 设置窗体this.setSize(400, 300);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);/ 定义一个MyPanel( 我自己的面板是用于绘图和显示绘图的区域)class MyPanel1
11、 extends JPanel/ 重写 ( 覆盖 )JPanel的 paint方法public void paint(Graphics g)/Graphics是绘图的重要类,可以把它理解成一只画笔/1 、调用父类函数,完成初始化任务super.paint(g);/ 在面板上画出图片Imageim=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(/F22.jpg);/ 实现g.drawImage(im, 0, 0, 300, 200, this);/ 如何画出字g.setColor(Color.red);g.setFont
12、(new Font(黑体 ,Font.BOLD,40);g.drawString(祖国万岁 , 100, 100);/ 画弧形g.drawArc(100, 100, 120, 200, -50, -100);java 事件处理机制如何通过键盘或鼠标的控制使Java 程序中的功能有响应?java 事件处理机制- 初步介绍java 事件处理是采取“委派事件模型” 。所谓“委派事件模型”是指当事件发生时,产生事件的对象 ( 即事件源 ) ,会把此“信息”传递给“事件的监听者”处理的一种方式,而这里所说的“信息”实际上就是 java.awt.event 事件类库里某个类所创建的对象,我们暂时把它称为“事件的对象” 。比如:当按下按钮时,就会在按钮触发一个“事