这段代码,编译能通过。可是在执行后,虽然能在上面画直线,但是,当最小化或者最大化后,画的直线就消失了,奇怪,代码中我也写了paint方法了啊/**
 * @(#)DrawLine1.java
 *
 *
 * @author 
 * @version 1.00 2007/10/13
 */import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class DrawLine1 extends Frame { 
int orgx;
    int orgy;
    int endx;
    int endy;
    Image oimg = null;
    Graphics og = null;
    
    public void Paint(Graphics g)
    {
      if(oimg!= null)
      {
        g.drawImage(oimg,0,0,this);
      }
      
    }
    public DrawLine1()
    {
        setSize(400,400);
        setTitle("DrawLine");
        setVisible(true);
        
     Dimension d = getSize();
     oimg = createImage(d.width,d.height);
     og = oimg.getGraphics();
    
    
     addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e)
            {
               dispose();
     System.exit(0);
            }
    
     });
     addMouseListener(new MouseAdapter()
     {
         
             public void mousePressed(MouseEvent e)
             {
              orgx = e.getX();
              orgy = e.getY();
             }
             public void mouseReleased(MouseEvent e)
             {
              endx= e.getX();
              endy= e.getY();
              Graphics g = getGraphics();
                 g.setColor(Color.red);
                 g.setFont(new Font(null,Font.ITALIC|Font.BOLD,30) );
                 g.drawLine(orgx,orgy,e.getX(),e.getY());
                 g.drawString(orgx+","+orgy, orgx,orgy);
                 g.drawString(e.getX()+","+e.getY(),e.getX(),e.getY());
                 
                 og.setColor(Color.red);
                 og.setFont(new Font(null,Font.ITALIC|Font.BOLD,30) );
                 og.drawLine(orgx,orgy,e.getX(),e.getY());
                 og.drawString(orgx+","+orgy,orgx,orgy);
                 og.drawString(e.getX()+","+e.getY(),e.getX(),e.getY());
             
             }      
     });
    }
    public static void main(String[] args) {
    
     // TODO, add your application code
        System.out.println("Starting DrawLine1");
        DrawLine1 mainframe = new DrawLine1();
        
    }   
}