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;?

}?

}