/*
时间:2015年3月21日22:06:05
目的:测试paint函数
paint函数声明如下:
public void paint(Graphics g)
应该绘制组件的内容时调用此方法;例如首次显示组件或者组件已损坏并需要修复时。Graphics 参数中的剪贴区矩形设置为需要绘制的区域。重写此方法的 Component 子类不需要调用 super.paint(g)。
出于性能的考虑,首次显示宽度或高度为 0 的 Component 时认为它不需要进行绘制,并且也不需要修复。
g,用于绘制的图像上下文
Graphics 类是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制。
Graphics 对象封装了 Java 支持的基本呈现操作所需的状态信息。此状态信息包括以下属性:
要在其上绘制的 Component 对象。
呈现和剪贴坐标的转换原点。
当前剪贴区。
当前颜色。
当前字体。
当前逻辑像素操作函数(XOR 或 Paint)。
当前 XOR 交替颜色(参见 setXORMode(java.awt.Color))。
*/
import java.awt.*;
public class TestPaint {
public static void main(String[] args) {
new MyFrame().launch();
}
}
class MyFrame extends Frame {
public void launch() {
setBounds(200, 200, 300, 300);
setVisible(true);
}
public void paint(Graphics g) {
Color c = g.getColor();
g.setColor(Color.BLACK);
g.drawLine(20, 20, 50, 50);
g.drawOval(70, 70, 20, 20);
g.fillOval(80, 80, 40, 40);
g.drawString("我是好人", 40, 40);
g.fillOval(100, 100, 200, 200);
}
}