import java.awt.*;
import java.awt.event.*;
/**分析下例:我们只是new了一个对象并没有调用Paint()方法那为什么会画出图呢?
* Graphics这个类的对象就是一只画笔,当某容器调用paint()时就会在该容器中画图。
* 当窗口产生时本身就存在一只画笔,我们只需要拿到画笔重写Paint()便可以随心作画。
*每次需要重画的时候就会自动调用paint(Graphics g)(什么时候需要重画呢?如当窗口被覆盖又重新置顶时,当窗口最小化又最大化时等等)
*/
总结:我们想要在容器中画图时只需要做的就是: 在该容器中重写Paint()系统会自动传给我们画笔,自动调用paint方法按照我们的意愿进行作画。
public class TestGraphics extends Frame. {
public static void main(String []args) {
new TestGraphics("画图",100,100,200,200,Color.white);
}
public TestGraphics(String s,int x,int y,int w,int h,Color c) {
super(s);
this.setBounds(x, y, w, h);
this.setBackground(c);
this.setVisible(true);
}
public void paint(Graphics g) {
Color c = g.getColor();
g.setColor(Color.magenta);
g.fillOval(100, 100, 50, 50);
g.setColor(Color.green);
g.fill3DRect(60, 100, 50, 50, false);
g.setColor(c);
}
}