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ˮľÇ廪վ¡Ã¾«»ªÇø