这学期的图形学作业,用DDA和Bresenham画线,我在JFrame上放置了个JPanel,然后自己写了个LinePanel的类,继承自JPanel,在LinePanel的实例上画线。在用于清除线的JBotton的MouseClicked事件里不管我写linepanel.repaint();还是Jpanel.repaint();都没办法正确的让linepanel里的东西清楚,第一次会让它的底色变白,第二次开始它的左上角还会出现我的几个按钮和Label搞不懂为什么了。。望大侠告知!public class LinePanel extends JPanel{
    
    /** Creates a new instance of LinePanel */
    //public LinePanel() {
    //}
    
    public void paint(Graphics g){
        int i;
        int width=this.getWidth();
        int height=this.getHeight();
        g.drawLine(10,height/2-1,width-10,height/2-1);
        g.drawLine(width/2+1,10,width/2+1,height-10);
        for(i=width/2; i>0; i-=20){
            g.drawString(".",i,height/2-1);
        }
        for(i=width/2; i<width; i+=20){
            g.drawString(".",i,height/2-1);
        }
        for(i=height/2; i>0; i-=20){
            g.drawString(".",width/2+1,i);
        }
        for(i=height/2; i<height; i+=20){
            g.drawString(".",width/2+1,i);
        }
        g.drawString(">",width-15,height/2+4);
        g.drawString("^",width/2-1,18);
    }
    public void WritePixel(int x,int y){
        Graphics g=this.getGraphics();
        g.translate(this.getWidth()/2,this.getHeight()/2);
        g.drawString(".",x,y);
    }
    
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new LinePanel().setVisible(true);
            }
        });
    }
}