import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 
 
public class PaintSin1 extends JFrame 

    public PaintSin1() 
    { 
        super("PaintSin1"); 
        setSize(400,300); 
        setLocation(100,200); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        JPanel jp=new JPanel();                                                             
        jp.setLayout(new BorderLayout()); 
        PPanel pp2=new PPanel(); 
        jp.add(new JScrollPane(pp2),"Center"); 
      setContentPane(jp);   
        setVisible(true); 
    } 
     
    public static void main(String[] args) 
    { 
        new PaintSin1(); 
    } 

 
class PPanel extends JPanel 

    private static int sn=10; 
    private static int pn=10; 
    public PPanel() 
    { 
        super(); 
        sn=10; 
        pn=10; 
        int wid=40*(pn+4)+40; 
    int hei=30*(sn+4)+40; 
        setPreferredSize(new Dimension(wid,hei));  
    setMaximumSize(new Dimension(wid,hei));  
    setMinimumSize(new Dimension(wid,hei));         
    } 
    public void paint(Graphics g) 
    { 
        for(int i=0;i<=sn+4;i++) 
        { 
            g.drawLine(20, 30*i+20, 40*(pn+4)+20, 30*i+20); 
             
        } 
        //画竖线 
        for(int i=0;i<=pn+4;i++) 
        { 
            g.drawLine(20+i*40, 20, 20+i*40, 30*(sn+4)+20); 
        } 
    } 
 

 
Frame 框小,我就想这么大。 但是画图的面板大,之后一移动滚动条就花了。 
望指教,如何解决啊谢谢