galera to com uma duvida chata. como faço para aperta um botão e apareça uma imagem apos 5 segundos apareça outra e apos mais 10 outra(isso com um toque só no botão), tentando usar thread mas não manjo muito fiz isso mas não deu certo…
======= classe principal =======
package principal;
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 Principal extends JFrame implements ActionListener {
public int time;
JButton botao = new JButton("OK");
ImageIcon im1 = new ImageIcon(getClass().getResource("imagem1.gif"));
ImageIcon im2 = new ImageIcon(getClass().getResource("imagem2.gif"));
JLabel imagem = new JLabel(im1);
Contole c1 = new Contole();
// metodo construtor!
public Principal(){
janela();
}
public void janela(){
setLayout(null);
// JLabel imagem !!
imagem.setBounds(10, 10, 300, 250);
getContentPane().add(imagem);
// BOTÂO
botao.setBounds(300, 20, 80, 80);
botao.addActionListener(this);
getContentPane().add(botao);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,300);
setLocationRelativeTo(null);
setVisible(true);
}
public void temporizador(){
if(time == 5){
imagem = new JLabel(im2);
}
else if(time == 10){
imagem = new JLabel(im1);
}
}
public static void main(String[] args) {
new Principal();
}
@Override
public void actionPerformed(ActionEvent e) {
c1.start();
this.temporizador();
}
public int getTime() {
return time;
}
public void setTime(int time) {
this.time = time;
}
}
============= controlador ============
package principal;
public class Contole extends Thread{
Principal pr = new Principal();
public void run(){
try {
sleep(500);
for(int i = 0; i <= 5; i++){
pr.time = i;
}
}
catch (InterruptedException ex) {
}
}
}