import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class AlternaFigura extends JFrame
{
JLabel l;
JButton bStop, bStart;
Container cp = getContentPane();
MyThread mt;
public static void main(String[] args)
{
new AlternaFigura().show();
}
public AlternaFigura(){
setTitle("[EMAIL PROTECTED]");
JPanel p = new JPanel();
p.add(bStop = new JButton("Stop"));
p.add(bStart = new JButton("Start"));
bStop.setEnabled(false);
bStart.setEnabled(true);
bStop.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
mt.setParar(true);
bStop.setEnabled(false);
bStart.setEnabled(true);
}
});
bStart.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
mt = new MyThread(l);
mt.start();
bStop.setEnabled(true);
bStart.setEnabled(false);
}
});
cp.add(l = new JLabel(), "Center");
l.setIcon(new ImageIcon("imagem1.gif"));
cp.add(p, "South");
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
setResizable(false);
}
}
class MyThread extends Thread{
private JLabel l;
private ImageIcon[] myImages = {new ImageIcon("imagem1.gif"), new ImageIcon("imagem2.gif"), new ImageIcon("imagem3.gif")};
private boolean parar;
public MyThread(JLabel l){
this.l = l;
}
public void run(){
System.out.println("Thread start");
for(int i=0;;i++){
System.out.println("imagem" + (i + 1));
l.setIcon(myImages[i]);
l.getParent().repaint();
try{
Thread.sleep(2000);
}
catch(InterruptedException ie){
}
if(i==myImages.length-1)
i=-1;
if(parar)
break;
}
System.out.println("Thread stop");
}
public void setParar(boolean parar){
this.parar = parar;
}
public boolean getParar(){
return parar;
}
}
From: "Vanderlei Matos Andre" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: <[EMAIL PROTECTED]>
Subject: [java-list] Thread
Date: Mon, 9 Dec 2002 13:46:00 -0300
Boa tarde.
Eu fiz uma aplicação que extende de uma thread e tenho 10 figuras (imagem1.gif, imagem2.gif, ... imagem10.gif) que preciso que fiquem alternando em um JLabel.
Eu já tentei de tudo, mas só aparece a primeira imagem.
Alguém sabe como eu poderia fazer isto??
Atenciosamente,
Vanderlei Matos André
Analista de Micro-Informática
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
Condor Super Center Ltda
fone:41 212-2107
_________________________________________________________________
MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br
------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------