一 、Component组件类中有一个public void paint( Graphics g)绘画方法,只要用户自定义的类继承了此组件类或其子类并重写了paint()方法,当用户自定义的类被实例化后,此时java运行环境就会开启一个新线程来自动调用并执行用户自定义类中的paint()方法,从而实现用户可以在重写paint()方法的组件(容器)类的对象上绘制各种图形图像。其绘制图形的一般步骤如下:
①用户自定义一个类并继承Component组件类的子类如:JPanel、Canvas类等
②在用户自定义的容器组件类中重写paint(Grapics g)方法后用户就可以在其方法内使用Grapics类或其子类Grapics2D的形参g对象,在用户自定义的类组件上绘制各种图形图像。
③在主程序中创建主窗口和用户自定义组件容器类的实例后,将其实例组件添加到主窗口中,java虚拟机便可以在用户自定义的组件上绘制各种图形。
注意:在使用Graphics类或其子类的对象绘制图形时,需要先创建出图形对象然后Graphics2D类的对象在调用draw(图形对象)或fill(图形对象)来绘制或填充图形。
二、组件都是矩形形状并都有一个默认的坐标系,其左上角为坐标原点(0,0),类似于数学坐标系的第四象限但x和y轴的值都是正值单位为像素点。若一个值为负值则此负符号一般表示逆向