コード public class formal3 extends Applet{ public void paint(Graphics g){ Image img1 = getImage(getDocumentBase(), "image1.jpg"); Image img2 = getImage(getDocumentBase(), "image2.jpg"); for(int i = 0; i < 4; i++){ System.out.println("iiii");//コンソールで表示確認 g.drawImage(img1, 50, 10, this); try{ Thread.sleep(3000); //3000ミリ秒Sleepする } catch(InterruptedException e){ } System.out.println("uuuu");//コンソールで表示確認 g.drawImage(img2, 50, 10, this); try{ Thread.sleep(3000); //3000ミリ秒Sleepする } catch(InterruptedException e){ } } } }
2つの画像を一定時間(上のプログラムでは3秒)おきに交互に入れ替えて表示させるようなプログラムを作ったのですが、
上のプログラムを実行させると、for(int i = 0; i < 4; i++)なので4回ずつの繰り返しのはずが8回ずつ繰り返されました。
またi = 3のときは6回、i = 2のときは4回、i = 1のときは2回ずつ画像が繰り返し表示されました。
なぜかしてほしい動作より2倍の動作をするのですが何が原因なのでしょうか?
また画像も交互に表示はされるのですが、半分かけて表示されたり、全部きれいに表示されたりとうまくいくときといかないときにバラツキがあります。
こちらの原因もわかりましたら教えていただきたいです!
回答1件
あなたの回答
tips
プレビュー