Galera queria que quando apertasse no botão depois de um certo tempo minha imagem mudasse, tentei usar threads mas meio ruimzinho nisso alguém me lembra como faço?
----Classe principal____
package threads;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Threads extends JFrame implements ActionListener{
JButton botao = new JButton("MUDAR");
ImageIcon imagem1 = new ImageIcon(getClass().getResource("imagem1.gif"));
ImageIcon imagem2 = new ImageIcon(getClass().getResource("imagem2.gif"));
JLabel l = new JLabel(imagem1);
public JLabel getL() {
return l;
}
public ImageIcon getImagem1() {
return imagem1;
}
public ImageIcon getImagem2() {
return imagem2;
}
public Threads(){
editar_Janela();
}
public void editar_Janela(){
setLayout(null);
l.setBounds(10, 10, 200, 200);
getContentPane().add(l);
botao.setBounds(280, 20, 70, 220);
botao.addActionListener(this);
getContentPane().add(botao);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,300);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Threads();
}
@Override
public void actionPerformed(ActionEvent e) {
MinhaThread t = new MinhaThread();
t.start();
new Thread();
}
--------------- classe thread-------------
package threads;
public class MinhaThread extends Thread {
Threads label_imagem = new Threads();
public void Thread(){
this.start();
}
public void run(){
try {
Thread.sleep(2000);
for(int i =1; i<10;i++){
if(i==10){
// erro grotesco aqui!!! to me embananando com get e set!!!
label_imagem.getL(label_imagem.getImagem2());
System.out.println("Confirmar tempo");
}
}
}
catch (InterruptedException ex) {
}
}