possuo 3 imagens e quero que elas intercalem em determinado intervalo de tempo, no mesmo lugar…
tentei algo, mas sem exito, alguma ajuda??
fiz com while, botoes, Calendar
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package projetoanimeimageicon;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
*
* @author contanova
*/
public class ProjetoAnimeImageAnimacao extends JFrame implements ActionListener{
boolean trocaImagem=true;
ImageIcon parte1_robo = new ImageIcon(getClass().getResource("parte1_robo.png"));
ImageIcon parte2_robo = new ImageIcon(getClass().getResource("parte2_robo.png"));
ImageIcon parte3_robo = new ImageIcon(getClass().getResource("parte3_robo.png"));
JPanel jPanel2 = new JPanel();
JLabel jlabel1 = new JLabel();
JLabel jlabel2 = new JLabel();
JLabel jlabel3 = new JLabel();
JLabel jlabel4 = new JLabel();
JLabel jlabel5 = new JLabel();
JLabel jlabel6 = new JLabel();
JButton start = new JButton("start");
public void actionPerformed(ActionEvent e) {
if (e.getSource() == start) {
trocaImagemComBotao2();
}
}
public ProjetoAnimeImageAnimacao() {
setTitle("JOGO ROBO");
setSize(900, 650);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
Font fonte2 = new Font("Sans Serif", Font.BOLD, 12);
Color myColor = Color.decode("#cc9d84");
jPanel2.setBackground(myColor);
jPanel2.setBorder(BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jPanel2.setLayout(null);
jPanel2.setBounds(0, 0, 900, 650);
jlabel1.setSize(128, 128);
jlabel1.setLocation(0, 0);
jlabel1.setIcon(parte1_robo);
jPanel2.add(jlabel1);
jlabel2.setSize(128, 128);
jlabel2.setLocation(128, 0);
jlabel2.setIcon(parte2_robo);
jPanel2.add(jlabel2);
jlabel3.setSize(128, 128);
jlabel3.setLocation(256, 0);
jlabel3.setIcon(parte3_robo);
jPanel2.add(jlabel3);
jlabel4.setSize(128, 128);
jlabel4.setLocation(0, 150);
jlabel4.setIcon(parte1_robo);
jPanel2.add(jlabel4);
jlabel5.setSize(128, 128);
jlabel5.setLocation(128, 150);
jlabel5.setIcon(parte2_robo);
jPanel2.add(jlabel5);
jlabel6.setSize(128, 128);
jlabel6.setLocation(256, 150);
jlabel6.setIcon(parte3_robo);
jPanel2.add(jlabel6);
start.setSize(100, 20);
start.setLocation(10, 580);
start.setText("start");
start.setVisible(true);
start.setEnabled(true);
start.addActionListener(this);
jPanel2.add(start);
getContentPane().setLayout(null);
getContentPane().add(jPanel2);
// contaTempo();
jlabel4.setIcon(parte1_robo);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
new ProjetoAnimeImageAnimacao().setVisible(true);
}
private long limite;
private long atual;
// tempo de cada ciclo em segundos;
private int ciclo = 1;
public void contaTempo(){
System.out.println("estive aqui");
int j=0;
boolean trocaImagem=true;
while(j<10000){
j++;
// System.out.println("j"+j);
if(j%2==0){
if(trocaImagem==true){
jlabel4.setIcon(parte1_robo);
// System.out.println("houve troca... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
trocaImagem=false;
}else {
jlabel4.setIcon(parte3_robo);
trocaImagem=true;
// System.out.println("houve troca...____________________________________________________________________________diferente...");
}
}
// atual = System.currentTimeMillis();
if ((j==7000)) {
// System.out.println("7000______________________________________");
}
}
}
public void trocaImagemComBotao(){
int j=0;
// if(trocaImagem==true){
// trocaImagem=false;}
while(j<100000){
j=j+103;
// System.out.println("j"+j);
if(j%2==0){
if(trocaImagem==true){
jlabel4.setIcon(parte1_robo);
// System.out.println("houve troca... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
trocaImagem=false;
}else {
jlabel4.setIcon(parte3_robo);
trocaImagem=true;
// System.out.println("houve troca...____________________________________________________________________________diferente...");
}
}
}//fecha while
}
public void trocaImagemComBotao2(){
jlabel4.setIcon(parte3_robo);
// trocaImagem=true;
// System.out.println("houve troca...____________________________________________________________________________diferente...");
}
// }
// }//fecha while
// }
private long novoCiclo(int segundos) {
Calendar tempo = new GregorianCalendar();
tempo.setTimeInMillis(System.currentTimeMillis());
tempo.add(Calendar.SECOND, segundos);
return tempo.getTimeInMillis();
}
}