先谢谢各位大侠了!
前两个是超类定义,分别为DrawPanel, DrawFrame,具体如下:import  java.awt.*;  
import  javax.swing.*;  
 
public  class  DrawPanel  extends  JPanel{  
           private  int  width=300;  
           private  int  height=300;  
           protected  DrawPanel(){  
                       setPreferredSize(new  Dimension(width,height));  
                       }  
           protected  DrawPanel(final  int  w,final  int  h){  
                                   width=w;  
                                   height=h;  
                                   setPreferredSize(new  Dimension(width,height));  
                                   }  
           public  int  getWidth(){  
                                               return  width;  
                                               }  
           public  int  getHeight(){  
                                                           return  height;  
                                               }  
           }  
-------------------------------------------------------------------------------------------------------------  
import  java.awt.*;  
import  java.awt.event.*;  
import  javax.swing.*;  
 
public  class  DrawFrame  extends  JFrame{  
           public  void  add(final  JPanel  panel){  
                       getContentPane().add(panel,BorderLayout.CENTER);  
                       }  
                         
                       private  void  quit(){  
                                   System.exit(0);  
                                   }  
                                     
                                   public  DrawFrame(final  String  title){  
                                               super(title);  
                                               Button  quitButton=new  Button("Quit");  
                                               quitButton.addActionListener(new  ActionListener(){  
                                                           public  void  actionPerformed(final  ActionEvent  e){  
                                                                       quit();  
                                                                       }  
                                                           });  
                                                             
                                                           JPanel  buttonPanel=new  JPanel(new  FlowLayout());  
                                                           buttonPanel.add(quitButton);  
                                                           getContentPane().setLayout(new  BorderLayout());  
                                                           getContentPane().add(buttonPanel,  BorderLayout.SOUTH);  
                                                           addWindowListener(new  WindowAdapter(){  
                                                                       public  void  windowClosing(final  WindowEvent  evt){  
                                                                                   quit();  
                                                                                   }  
                                                                       });  
                                               }  
                                                 
                                               public  void  centreOnScreen(){  
                                                           Dimension  displaySize=getToolkit().getScreenSize();  
                                                           Dimension  windowSize=getSize();  
                                                           int  x=(displaySize.width-windowSize.width)/2;  
                                                           int  y=(displaySize.height-windowSize.height)/2;  
                                                           if(x<0){  
                                                                       x=0;  
                                                                       }  
                                                                       if(y<0){  
                                                                                   y=0;  
                                                                                   }  
                                                                                   setLocation(x,y);  
                                                           }  
           }  
-------------------------------------------------------------------------
------------------------------------ 
import  java.awt.*;  
import  java.awt.geom.*;  
 
public  class  DrawLine  extends  DrawPanel{  
             
           public  static  void  main(final  String[]  args){  
                       DrawFrame  frame=new  DrawFrame("Drawing  of  a  line");  
                       DrawLine  drawing=new  DrawLine();  
                       frame.add(drawing);  
                       frame.pack();  
                       frame.centreOnScreen();  
                       frame.setVisible(true);    
                         
                         
                       }  
                         
                       public  DrawLine(){  
                                   }  
                       public  void  paint(final  Graphics  g){  
                                                           Graphics2D  g2d=(Graphics2D)g;  
                                                           Line2D  aLine=new  Line2D.Double(10,10,70,70);  
                                                           g2d.draw(aLine);  
                                                           }