Swing编程方面步骤之四java绘图技术画小乌龟

首先,手动画一个小乌龟,如下:



然后,按照java绘图基本步骤一步步来。

swing 编程步骤:

 1. 继承JFrame
 2. 定义组件
 3.创建组件(构造函数)
 4.添加组件
 5.对窗体设置
 6.显示窗体

最终效果如下:


代码如下:

/**
 * 功能:画一个乌龟
 */

package com.test1;

import java.awt.*;

import javax.swing.*;
public class MyTortoise  extends JFrame{
	MyPanel2 mp = null;
	//构造函数
	public MyTortoise(){
		mp = new MyPanel2();
		
		this.add(mp);
		
		this.setTitle("毛二的小乌龟,丑丑哒");
		this.setSize(400,300);
		this.setVisible(true);
		this.setLocation(300,200);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
			
	public static void main(String[] args) {
		MyTortoise mtg = new MyTortoise();
	}	
}

//我的面板。只有JPanel有画图方法,JFrame没有,故必须在JFrame中添加JPanel
class MyPanel2 extends JPanel{
	//定义一个乌龟
	Tortoise t = null;
	
	//构造函数
    public MyPanel2(){	
    	t = new  Tortoise(100,100);
    }
    
    //画乌龟
    public void drawTortoise(int x, int y, Graphics g){
    	//1.画脸
    	g.setColor(Color.green);
    	g.fillOval(x+60, y, 30, 15);
    	//2.画左眼
    	g.setColor(Color.black);
    	g.fillOval(x+65, y+3, 5, 5);
    	//3.画右眼
    	g.fillOval(x+78, y+3, 5, 5);
    	//4.画脖子
    	g.setColor(Color.green);
    	g.fillOval(x+70, y, 10, 42);
    	//5.画乌龟壳
    	g.setColor(Color.red);
    	g.fillOval(x+40, y+40, 70, 100);
    	//6.画左上脚
    	g.setColor(Color.green);
    	g.fillOval(x+15, y+60, 30, 10);
    	//7.画右上脚
    	g.fillOval(x+105, y+60, 30, 10);
    	//8.画左下脚
    	g.fillOval(x+15, y+110, 30, 10);
    	//9.画右下脚
    	g.fillOval(x+105, y+110, 30, 10);
    	//10.画尾巴
    	g.setColor(Color.black);
    	g.drawLine(x+70,y+140,x+130,y+210);
    	g.drawOval(x+95, y+150, 30, 30);
    }

   
	//覆盖JPanel的paint方法
	//Graphics 是绘图的重要类。你可以把他理解成一只画笔
	public void paint(Graphics g){
			//1.调用父类函数完成初始化任务
			//这句话不能少
			super.paint(g);
			//2.画乌龟,调用方法即可
			this.drawTortoise(50, 50, g);
	}
	
}

//定义一个乌龟类
class Tortoise {
		//表示乌龟的横坐标
		int x = 0;

		//表示乌龟的纵坐标
		int y = 0;
		
		public int getX() {
			return x;
		}

		public void setX(int x) {
			this.x = x;
		}

		public int getY() {
			return y;
		}

		public void setY(int y) {
			this.y = y;
		}
		public Tortoise(int x, int y){
			this.x = x;
			this.y = y;
		}
}


  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值