2016-04-02 12 views
0

私は少しゲームを作成していますが、問題があります。私は2つのgifをputtedし、gifが終了すると、イメージは停止し、ループしません。私はこのGIFをループする方法を欲しがっている。 これはコードです:gifがループしていません

import java.io.File; 

    import javax.imageio.ImageIO; 
    import javax.swing.ImageIcon; 
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JLayeredPane; 
    import javax.swing.WindowConstants; 

    public class EjemploJLayeredPane { 
    public static void main(String[] args) { 

     JFrame v = new JFrame("Ejemplo de JLayeredPane"); 
     JLayeredPane layered = new JLayeredPane(); 


     JLabel fondo = new JLabel(); 
     ImageIcon imagen = new ImageIcon("fondo batalla.png"); 
     fondo.setIcon(imagen); 
     fondo.setSize(imagen.getIconWidth(), imagen.getIconHeight()); 


     JLabel primerPlano1 = new JLabel(); 
     ImageIcon imagen1 = new ImageIcon("pikachufrente.gif"); 
     primerPlano1.setIcon(imagen1); 
     primerPlano1.setBounds(275,-80,400,400); 


     JLabel primerPlano2 = new JLabel(); 
     ImageIcon imagen2 = new ImageIcon("charmanderespalda.gif"); 
     primerPlano2.setIcon(imagen2); 
     primerPlano2.setBounds(85,20,400,400); 


     layered.add(fondo, new Integer(1)); 
     layered.add(primerPlano1, new Integer(2)); 
     layered.add(primerPlano2, new Integer(2)); 


     v.getContentPane().add(layered); 
     v.setSize(imagen.getIconWidth(), imagen.getIconHeight() + 20); 
     v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
     v.setVisible(true); 
    } 

} 
+0

それは私のために動作しません。一貫性のない動作が発生しているということは、AWTイベントディスパッチスレッドの外部でSwingオペレーションを実行することが問題であることを示しています。これは、予期しない動作を引き起こすことが記録されています。すべてのコードをRunnableの 'run'メソッドに移動し、そのRunnableを[EventQueue.invokeLater]に渡します(https://docs.oracle.com/javase/8/docs/api/java/awt/EventQueue.html)。 #invokeLater-java.lang.Runnable-)。 – VGR

答えて

0

これは私の作品 - 全く何も無い範囲:

JFrame f=new JFrame(); 
    f.setSize(500, 500); 
    JLabel l=new JLabel(); 
    ImageIcon icon=new ImageIcon("bird.gif"); 
    l.setIcon(icon); 
    f.add(l); 
    f.setVisible(true); 
関連する問題