BBSˮľÇ廪վ¡Ã¾«»ªÇø

·¢ÐÅÈË: jtiger (jim), ÐÅÇø: Java 
±ê  Ìâ: ÔÚJAVA appletÖе͝»­(¶þ) 
ÈÕ  ÆÚ: Tue Mar 12 15:42:31 1996 
 
         
        »­³öÿһ֡£º 
                Ê£ÏµľÍÊǽ«Ã¿Ò»Ö¡Í¼Ï󻿳ö¡£ÔÚÉÏÀýÖе÷ÓÃÁËappletµÄrepaint() 
        À´»æ³öÿһ֡ͼÏó¡£ 
                public void paint(Graphics g) { 
                        g.setColor(Color.black); 
                        g.drawString("Frame " + frame, 0, 30); 
                } 
 
        Éú³ÉͼÐΣº 
                ÏÖÔÚÎÒÃÇÀ´»­Ò»Ð©ÉÔ΢À§ÄѵĶ«Î÷¡£ÏÂÀý»­ÁËÒ»¸öÕýÏÒÇúÏßµÄ×éºÏ, 
        ¶ÔÓÚÿһ¸öx,»­Ò»Ìõ¶ÌµÄ´¹Ö±Ïß,ËùÓÐÕâЩÏß×é³ÉÁËÒ»¸öͼÐÎ,²¢ÇÒÿ֡±ä»¯¡£ 
        µ«²»ÐÒÓÐЩÉÁ¶¯,ÔÚÒÔºóÎÒÃǽ«½âÊÍΪʲôÉÁÒÔ¼°ÔõÑù±ÜÃâ¡£ 
                public void paint(Graphics g) { 
                        Dimension d = size(); 
                        int h = d.height / 2; 
                        for (int x = 0 ; x < d.width; x++) { 
                                int y1 = (int)((1.0 + Math.sin((x - frame) *  
0.05)) * h); 
                                int y2 = (int)((1.0 + math.sin((x + frame) *  
0.05)) * h); 
                                g.DrawLine(x, y1, x, y2); 
                        } 
                } 
 
 
        ±ÜÃâÉÁ˸£º 
                ÉÏÀýÖеÄÉÁ˸ÓÐÁ½¸öÔ­Òò£º»æÖÆÃ¿Ò»Ö¡»¨·ÑµÄʱ¼äÌ«³¤(ÒòÎªÖØ»æÊ±Òª 
        ÇóµÄ¼ÆËãÁ¿´ó),¶þÊÇÔÚÿ´Îµ÷ÓÃpait()ǰÕû¸ö±³¾°±»Çå³ý,µ±ÔÚ½øÐÐÏÂÒ»Ö¡µÄ 
        ¼ÆËãʱ,Óû§¿´µ½µÄÊDZ³¾°¡£ 
                Çå³ý±³¾°ºÍ»æÖÆÍ¼ÐμäµÄ¶ÌÔÝʱ¼ä±»Óû§¿´¼û,¾ÍÊÇÉÁ˸¡£ÔÚÓÐЩƽ̨ 
        ÈçPC»úÉÏÉÁ˸±ÈÔÚX WindowÉÏÃ÷ÏÔ,ÕâÊÇÒòΪX WindowµÄͼÏó±»»º´æ¹ý,ʹµÃÉÁ˸ 
        µÄʱ¼ä±È½Ï¶Ì¡£ 
                ÓÐÁ½ÖÖ°ì·¨¿ÉÒÔÃ÷ÏԵؼõÈõÉÁ˸£ºÖØÔØupdate()»òʹÓÃË«»º³å¡£ 
 
        ÖØÔØupdate()£ 
                µ±AWT½ÓÊÕµ½Ò»¸öappletµÄÖØ»æÇëÇóʱ,Ëü¾Íµ÷ÓÃappletµÄupdate()¡£ 
        È±Ê¡µØ,update()Çå³ýappletµÄ±³¾°,È»ºóµ÷ÓÃpaint()¡£ÖØÔØupdate(),½«ÒÔǰ 
        ÔÚpaint()ÖеĻæÍ¼´úÂë°üº¬ÔÚupdate()ÖÐ,´Ó¶ø±ÜÃâÿ´ÎÖØ»æÊ±½«Õû¸öÇøÓò 
        Çå³ý¡£ 
                ¼ÈÈ»±³¾°²»ÔÚ×Ô¶¯Çå³ý,ÎÒÃÇÐèÒª×Ô¼ºÔÚupdate()ÖÐÍê³É¡£ÎÒÃÇÔÚ»æÖÆ 
        ÐµÄÏß֮ǰ¶À×Ô½«ÊúÏß²Á³ý,ÍêÈ«Ïû³ýÁËÉÁ˸¡£ 
                public void paint(Graphics g) { 
                        update(g); 
                } 
 
                public void update(Graphics g) { 
                        Color bg = getBackground(); 
                        Dimension d = size(); 
                        int h = d.height / 2; 
                        for (int x = 0; x < d.width; x++) { 
                                int y1 = (int)((1.0 + Math.sin((x - frame) *  
0.05)) * h); 
                                int y2 = (int)((1.0 + Math.sin((x + frame) *  
0.05)) * h); 
 
                                if (y1 > y2) { 
                                        int t = y1; 
                                        y1 = y2; 
                                        y2 = t; 
                                } 
                                g.setColor(bg); 
                                g.drawLine(x, 0, x, y1); 
                                g.drawLine(x, y2, x, d.height); 
                                g.setColor(Color.black); 
                                g.drawLine(x, y1, x, y2); 
                        } 
                } 
 
 
--±àÒë×Ô<JAVA World> 
-- 
Nothing is right, 
        nothing is wrong. 
 

BBSˮľÇ廪վ¡Ã¾«»ªÇø