作者artin (让我备上吧﹒orz...)
看板java
标题[问题] 请问,有关paint()执行的顺序
时间Wed May 31 18:16:09 2006
各位大大,大家好,我是java新手…
如果有人问过了,对不起,我一定会马上回来d掉的....>< 先说声抱歉....
我想要把一行字,造成在画面上移动的样子
那我的想法是,每次更新印出的位置,然後再repaint()一次
我的程式码如下
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
/*
<applet
code = slide.class
width=600
height=600>
</applet>
*/
public class slide extends Applet implements ActionListene
{
Button button1;
int i=60;
String Sa = "hello java";
public void init()
{
button1 = new Button("click me");
add(button1);
button1.addActionListener(this);
}
public void paint(Graphics g)
{
g.drawString(Sa,i,100);
System.out.println("CALL paint()");
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == button1)
{
while(i<160)
{
++i;
repaint();
System.out.println(i);
}
}
}
}
那我想,当按下button後,应该会印出
CALL paint()
61
CALL paint()
62
CALL paint()
.
.
CALL paint()
160
可是,实际上却出现
61
62
.
.
.
160
CALL paint()
那这和我原本希望的不一样,为什麽,它会在for loop的最後一次才会
呼叫paint()这个method呢?
因为我想了一阵子,也没看过书上提过…
所以才po上来,请教各位大大
谢谢....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.117.102.78