下記のソースコードで実行してみたところ、自分ではAの画像が最初に背景のように表示されてその1秒後にBの画像が出ることを想定していたのですが、実際に試すと最初に何も表示されていないウインドウが出てその後にAとBの画像が両方同時に表示されてしまいます。どうすれば改善できるでしょうか?
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(500,500); 21 frame.setTitle("Key_test2"); 22 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 23 frame.add(new MainPanel()); 24 frame.setVisible(true); 25 } 26} 27class MainPanel extends JPanel { 28 public MainPanel() { 29 //setBackground(Color.white); 30 31 } 32 public void paintComponent(Graphics g) { 33 //画像を引数に入れる 34 Image A = getToolkit().getImage("A.png"); 35 Image B = getToolkit().getImage("B.png"); 36 // 座標を指定しイメージオブジェクトを表示 37 g.drawImage(A ,0,0, this); 38 39 try{ 40 Thread.sleep(1000); 41 // 座標を指定しイメージオブジェクトを表示 42 g.drawImage(B ,0,0, this); 43 } 44 catch(InterruptedException e){ 45 System.out.println("error"); 46 } 47 } 48}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。