韩顺平循序渐进学java从入门到精通课件笔记到第三十四

上传人:206****923 文档编号:91837300 上传时间:2019-07-02 格式:DOC 页数:6 大小:20.52KB
返回 下载 相关 举报
韩顺平循序渐进学java从入门到精通课件笔记到第三十四_第1页
第1页 / 共6页
韩顺平循序渐进学java从入门到精通课件笔记到第三十四_第2页
第2页 / 共6页
韩顺平循序渐进学java从入门到精通课件笔记到第三十四_第3页
第3页 / 共6页
韩顺平循序渐进学java从入门到精通课件笔记到第三十四_第4页
第4页 / 共6页
韩顺平循序渐进学java从入门到精通课件笔记到第三十四_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《韩顺平循序渐进学java从入门到精通课件笔记到第三十四》由会员分享,可在线阅读,更多相关《韩顺平循序渐进学java从入门到精通课件笔记到第三十四(6页珍藏版)》请在金锄头文库上搜索。

1、内容:坦克大战演示:java绘图坐标体系java绘图技术java事件处理机制我的坦克大战游戏(1.0版本)目标:理解java绘图坐标体系掌握java绘图基本技术充分理解java事件处理机制完成java坦克大战游戏(1.0版本)演示坦克大战:涉及的技术:1java面向对象程序设计2界面编程3绘图技术4多线程5文件流操作6数据库技术java绘图坐标体系介绍:坐标原点位于左上角,以像素为单元,x轴表示当前位置为水平方向y坐标表示当前位置为垂直方向.像素是个密度单位.介绍快速入门案例 画小圆 demo9_1JFrame 不提供绘画功能,所以要在面板里画,解释:Component类提供了两个绘图相关的两

2、个重要的类,1paint(Graphics g)绘制组建的外观2repaint()刷新组建外观当组建第一次在屏幕上显示时,程序会自动调用paint()方法,来绘制组件.在下列情况下paint()下也会被调用a 窗口最小化在最大化b 窗口大小发生变化c repaint函数被调用介绍Graphics类参考jdk画直线画矩形边框画椭圆边框填充矩形填充椭圆画图片花字符串设置画笔字体设置画笔颜色第三十四讲:演示案例: demo9_1/* * java绘图原理 */package com.test1;import java.awt.*;import javax.swing.*;public class d

3、emo9_1 extends JFrameMyPanel mp=null;public static void main(String args) demo9_1 demo=new demo9_1();public demo9_1()mp=new MyPanel();this.add(mp);this.setSize(400,300);this.setLocation(200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);/定义一个MYpanel我自己的面板,用于绘图和实现绘图区域c

4、lass MyPanel extends JPanel/覆盖JPanel的paint方法,/Graphics 是绘图的重要类,可以把它理解成一支画笔public void paint (Graphics g)/调用父类函数,完成初始化super.paint(g); /固定格式不能少System.out.println(窗口被调用);/先画一个圆g.setColor(Color.blue);/画圆g.drawOval(10, 10, 30, 30);/划线g.drawLine(10, 10, 20, 20);/画矩形g.drawRect(30, 30, 10, 10);g.setColor(Co

5、lor.red);/画实心矩形g.fillRect(50, 50, 20, 20);/在面板上画出图片Image img=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(/1.jpg);/显示g.drawImage(img, 50, 50, 256, 192,this);/如何画出字g.setColor(Color.red);g.setFont(new Font(华文彩云,Font.BOLD,50);g.drawString(祖国万岁, 20, 70);实战-坦克大战1、利用java绘图画出一个坦克./* * 功能:坦克

6、游戏的1.0 * 1.画出坦克 */package com.test1;import java.awt.*;import javax.swing.*;public class MyTankGame1 extends JFrame MyPanel mp=null;public static void main(String args) MyTankGame1 mytankgame1=new MyTankGame1();/构造函数public MyTankGame1()mp= new MyPanel();this.add(mp);this.setSize(500,500);this.setLoca

7、tion(100,100);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);/我的面板class MyPanel extends JPanel/定义一个我的坦克Hero hero=null;/构造函数public MyPanel()hero =new Hero(10,10);/重新paintpublic void paint(Graphics g)super.paint(g);/设置背景颜色,500为窗体的大小g.fillRect(0, 0, 500, 500); this.drawTank(h

8、ero.getX(), hero.getY(), g, 0, 1);/画出坦克的函数public void drawTank (int x,int y ,Graphics g,int direct ,int type)/判断类型switch (type)/我的坦克case 0 :g.setColor(Color.red);break;/敌人坦克case 1:g.setColor(Color.green);break;/判断方向switch (direct)/向上case 0 :/画出我的坦克(到时再封装成一个函数)/1.画出左边的巨型g.fill3DRect(x, y, 5, 30,false

9、);/2.画出右边的矩形g.fill3DRect(x+15, y, 5, 30,false);/3.画中间矩形g.fill3DRect(x+5, y+5, 10, 20,false);/4.画出圆形g.fillOval(x+4, y+7, 10, 15);/5.画出炮筒g.drawLine(x+10, y-4, x+10, y+20);break;/坦克类class Tank/x表示坦克的横坐标private int x=0;public int getX() return x;public void setX(int x) this.x = x;/坦克的纵坐标private int y=0;public int getY() return y;public void setY(int y) this.y = y;public Tank(int x,int y)this.x=x;this.y=y;class Hero extends Tankpublic Hero (int x,int y)super(x,y);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号