私は実行ファイルとアプレットの理解を助けるためにhttp://www.dmc.fmph.uniba.sk/public_html/doc/Java/ch10.htmを読んで、このコードをテストすることにしました。しかし、スレッド内では、repaint()メソッドが呼び出されていません。私は私の結果のようなものであることを期待したい実行可能なJavaでの再描画
public class test extends Applet implements Runnable{
int hello;
public void start(){
Thread run = new Thread(this);
run.start();
}
public void run() {
for (int i = 0; i < 30; i++){
hello = i;
repaint();
}
}
public void paint(Graphics g){
System.out.println(hello);
}
}
:
29
29
を、私は理由を理解していない:
0
1
2
...
29
しかし、代わりに私が取得します。私はstop()メソッドを持っていないのでそれはありますか?
迅速に連続して 'repaint()'を複数回呼び出すと、通常は1回の呼び出しで結合されます。 1)なぜアプレットをコード化するのですか?教師がそれを指定している場合は、[CS教師が** Javaアプレットを教えるのを止めるべき理由](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-teaching-java-applets /)を使用します。 2)なぜAWTを使用するのですか? Swingに賛成するAWTコンポーネントを放棄する多くの理由から、[この回答](http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978)を参照してください。 –