Timer problem
Hej...I et forsøg på at lave noget animation med en timer, der skal vise et billede hvert 40 millisekund, er jeg kommet frem til nedenstående kode. (Jeg er overhoved ikke klar over om det her er den korrekte fremgangsmåde, når man vil animere, eller om der findes en smart klasse et sted).
Problemet besåt i at billederne, der bliver hentet fra en ArrayList ,ikke bliver vist. Kun det sidste billede...
Jeg tænkter at t.start() og t.stop() evt. er placeret forkert.
Eller måske når billederne ikke at blive lagt på jButton1, før timeren kører igen...
Håber, nogen kan hjælpe...tak
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Start extends JFrame implements ActionListener
{
private BorderLayout borderLayout1 = new BorderLayout();
private JButton jButton1 = new JButton();
private Timer t;
ImageIcon icon1;
Intro file = new Intro();
GUI gui;
public Start()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
this.getContentPane().setLayout(borderLayout1);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(screenSize.width, screenSize.height-30);
this.setTitle("Merpster");
this.getContentPane().add(jButton1, BorderLayout.CENTER);
ImageIcon icon = new ImageIcon("startbillede.gif");
jButton1.addActionListener(this);
jButton1.setIcon(icon);
jButton1.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == jButton1)
{
t = new Timer(10, this);
for (int i = 0; i<file.intro.size() ; i++)
{
t.start();
icon1 = new ImageIcon((String)file.intro.get(i));
System.out.println((String)file.intro.get(i));
jButton1.setIcon(icon1);
jButton1.setVisible(true);
t.stop();
}
}
gui =new GUI();
gui.show();
this.setVisible(false);
}
}
