1)java画图首先需要定义一个面板(即画布)类MyPanel继承JPanel类。
2)接着重写JPanel的paint方法,会自动生成形参Graphics g并且自动调用父类方法完成初始化。Graphics就相当于画笔,提供了很多方法用于绘制图形。
class MyPanel extends JPanel{
@override
public void paint(Graphics g){//重写paint方法
super.paint(g);//自动调用父类方法初始化
g.draw(10,10,100,100)//Graphics提供的绘图方法
}
}
3)然后让主类继承JFrame类,JFrame类相当于画板。
4)编写主类的构造器,在构造器中初始化画布并将将画布MyPanel嵌入到画板JFrame中。
class DrawPicture extends JFrame{//继承JFrame类
MyPanel mp = null;//定义一个面板属性
public DrawPicture(){
mp = new MyPanel();//初始化画布
this.add(mp);//将画布加入到画板上
this.setSize(500,500);//设置画板大小
this.setVisable(true);//让画板可视化
}
}
5)准备工作完成,在main中new一个画板即可自动调用paint方法进行画图。paint方法在第一次在屏幕显示时、窗口最大最小化时、窗口大小发生变化时、repaint函数调用时都会被系统自动调用。