用JBuilder 写了一个很小的测试程序,测试Graphics 的用法,程序内容如下:

import javax.swing.*;
import java.awt.*;

public class test{
  public static void main(String[] args) {
    JFrame win;
    Container contentPane;
    Graphics g;

    win = new JFrame("My First Square");
    win.setSize(300,300);
    win.setLocation(0,0);
    win.setVisible(true);

    contentPane = win.getContentPane();
    contentPane.setBackground(Color.white);

    g = contentPane.getGraphics();
    g.setColor(Color.black);
    g.fillRect(50,50,100,30);
    
    g.setColor(Color.red);
    g.drawRect(175,50,100,30);
  }
}

    运行程序以后,竟然看不到画的矩形。后来,仔细观察了一下,并不是没有画出矩形,而是,画出来以后,瞬间消失掉了。

    各位高手能否帮忙解释一下,这到底是为什么?不甚感激!