下記のコードを実行すると、最初にCの画像が出てその1秒か2秒か3秒後にDの画像が出ることを予想していたのですが、実際に試すとCの画像が出たきりです。 public static void getWeit() メソッド内が動作していないようです。どうすれば改善できるでしょうか?
java
1import java.awt.*; 2import javax.swing.*; 3import javax.imageio.*; 4import java.util.Random; 5 6//============================================================================== 7//メイン・クラス 8//============================================================================== 9public class Key_test2 10{ 11 //メイン・メソッド 12 public static void main(String[] args) 13 { 14 Key_test2 test = new Key_test2(); 15 } 16 public Key_test2() 17 { 18 //基礎フレームの設定。 19 JFrame frame = new JFrame(); 20 frame.setSize(800,600); 21 frame.setTitle("Key_test2"); 22 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 23 frame.add(new MainPanel()); 24 frame.setVisible(true); 25 } 26} 27 28class MainPanel extends JPanel { 29 public MainPanel(){ 30 } 31 public void paintComponent(Graphics g) { 32 super.paintComponent(g); 33 //画像を引数に入れる 34 Image A = getToolkit().getImage("A.png"); 35 Image B = getToolkit().getImage("B.png"); 36 Image C = getToolkit().getImage("C.png"); 37 Image D = getToolkit().getImage("D.png"); 38 g.drawImage(C,0,0,this); 39 switch(key.img){ 40 case 0: g.drawImage(A,0,0,this); break; 41 case 1: g.drawImage(B,0,0,this); break; 42 //case 2: g.drawImage(C,0,0,this); break; 43 case 3: g.drawImage(D,100,100,this); break; 44 } 45 //10ミリ秒ごとに再描画 46 repaint(); 47 //System.out.println("repaint"); 48 try{ 49 Thread.sleep(10); 50 } 51 catch(InterruptedException e){ 52 } 53 //カウンター加算 54 key.counter++; 55 if(key.counter == key.weit){ 56 key.img = 3; 57 } 58 } 59} 60 61class key{ 62 //画像番号(img0=A,img1=B) 63 public static int img = 10; 64 //カウンター 65 public static int counter; 66 //待ち時間 67 public static int weit; 68 69 public static void getWeit() { 70 Random R1 = new Random(); 71 int ran = R1.nextInt(3); 72 //乱数に応じた待ち時間 73 switch(ran){ 74 case 0: weit = 1000; break; 75 case 1: weit = 2000; break; 76 case 2: weit = 3000; break; 77 } 78 System.out.println(ran); 79 } 80}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/07 07:29 編集
2015/08/07 08:17
2015/08/07 10:22