程序是绘制一个有两个矩形的框架以下是矩形程序:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JPanel;
import javax.swing.JComponent;public class RectangleComponent extends JComponent 
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
Rectangle box = new Rectangle(5, 10, 20, 30);
g2.draw(box);
box.translate(15, 25);
g2.draw(box);
}}
下面是框架程序:
import javax.swing.*;
public class Test {
public static void main(String[] args)
{
JFrame frame = new JFrame();
final int FRAME_WIDTH = 300;
final int FRAME_HEIGHT = 400;
frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
frame.setTitle("Two rectangles");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
RectangleComponent component = new RectangleComponent();
frame.add(component);
frame.setVisible(true);
}
}
想问一下,为什么RectangleComponent component = new RectangleComponent();这个语句可以画出两个矩形呢?它的本意是创建一个第一段程序的类实例,为什么会自动调用paintComponent这个方法?框架