在main里面建个ScribblePanel1 对象

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class ScribblePanel1 extends JPanel
        implements MouseListener,MouseMotionListener{
        protected int last_x,last_y;
        public ScribblePanel1(){
       this.addMouseListener(this);
       this.addMouseMotionListener(this);
       setPreferredSize(new Dimension(450,200));
     }
    public void mousePressed(MouseEvent e){
       last_x=e.getX();
       last_y=e.getY(); }
    public void mouseDragged(MouseEvent e){
       int x=e.getX();
       int y=e.getY();
       this.getGraphics().drawLine(last_x,last_y,x,y);
       last_x=x;
       last_y=y;
     }
     public void mouseReleased(MouseEvent e){}
     public void mouseClicked(MouseEvent e){}
     public void mouseEntered(MouseEvent e){}
     public void mouseExited(MouseEvent e){}
     public void mouseMoved(MouseEvent e){} public static void main(String[] args) {
       ScribblePanel1 panel = new ScribblePanel1();
       JFrame frame = new JFrame();
       frame.getContentPane().add(panel);
       frame.setSize(new Dimension(450,200));
       frame.show();
     }
    }
      

  2.   

    在定义主类加入主函数
    public class ScribblePanel1 extends JPanel
        public static void main [string args()] {
    ......
      

  3.   

    frame.getContentPane()不就是frame么,这样作是不是多此一举呢
      

  4.   

    getContentPane返回的是一个Container