在类Container及其子类(如:Frame,Panel)的对象需要重绘时,JVM会自动调用它的public void paint(Graphics g)方法。
//: PaintTest.java
import java.awt.*;

/** *//**
* Method Container.pain() Test.
* Using paint() to draw some shapes.
* @author nyzhl
*/

public class PaintTest ...{

public static void main (String[] args) ...{
new MyFrame();
}
}

/** *//**
* Design window
*/

class MyFrame extends Frame ...{

public MyFrame() ...{
setBounds(200,200,200,200);
setVisible(true);
}

public void paint(Graphics g) ...{
Color c = g.getColor();
g.setColor(Color.red);
g.drawLine(20,20,100,80);
g.setColor(Color.blue);
g.fill3DRect(50,50,50,80,true);
g.setColor(Color.yellow);
g.drawString("PaintTest.java",50,150);
g.setColor(c);
}
}
///:~
效果:
//: PaintTest.java
import java.awt.*;
/** *//**
* Method Container.pain() Test.
* Using paint() to draw some shapes.
* @author nyzhl
*/
public class PaintTest ...{
public static void main (String[] args) ...{
new MyFrame();
}
}
/** *//**
* Design window
*/
class MyFrame extends Frame ...{
public MyFrame() ...{
setBounds(200,200,200,200);
setVisible(true);
}
public void paint(Graphics g) ...{
Color c = g.getColor();
g.setColor(Color.red);
g.drawLine(20,20,100,80);
g.setColor(Color.blue);
g.fill3DRect(50,50,50,80,true);
g.setColor(Color.yellow);
g.drawString("PaintTest.java",50,150);
g.setColor(c);
}
}
///:~效果:
本文介绍了一个简单的Java应用程序,该程序通过重写Frame子类的paint方法来绘制图形。演示了如何使用Graphics类绘制线条、填充矩形及显示字符串。
2249

被折叠的 条评论
为什么被折叠?



