您的位置:程序门 -> java -> gui 设计



为什么我点击clear清楚panel里的图形会出错啊?急~~~


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


为什么我点击clear清楚panel里的图形会出错啊?急~~~
发表于:2007-06-08 14:43:10 楼主
这学期的图形学作业,用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);
                        }
                });
        }
}
发表于:2007-06-08 15:53:411楼 得分:0
就这么一点?
你的清除button呢?


快速检索

最新资讯
热门点击