ola
já procurei varias maneiras de tentar fazer animações mas só o que consigo é exibir imagens na Frame
já perguntei aqui no fórum e disseram que com setLocation e AffineTransform é possivel mover uma imagem
sera que poderiam aplicar essas funções no meu codigo? ja tentei mas nada acontece…
estou utilizando netbeans 7.2
[code]package jav;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Jav extends JFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("imagem");
JLabel label = new JLabel(new ImageIcon("C:/Dev-Pas/imgres.jpg"));
frame.add(label);
frame.setSize(800,600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
} [/code]
O que você quer fazer exatamente ? Este seu método apenas adiciona a imagem no Frame
Para se fazer a animação você precisaria de um conjunto de imagens e trabalhar com Graphics ou exibir um gif.
Deve ter alguma framework voltada pra jogos capaz de fazer oque você deseja também
O Se for utilizar o Graphics procure pelo metodo drawImage(…)
Pelo menos isto é até onde eu sei.
gostaria de colocar coordenadas da frame e exibir a imagem naquele lugar… e para mover eu poderia usar um sleep e colocar outra coordenada pra ela dando a impressão de movimento não?
e se possivel girar a imagem em um angulo para dar mais efeitos =)
*assim como:
rotacionar: http://www.imagensdahora.com.br/gifs_path/5211/bola_girando_08/
transladar:http://www.imagensdahora.com.br/gifs_path/5210/bola_girando_07/
Olha pra voce “caminhar” ate uma posiçao voce pode usar Timer e setLocation. Exemplo:
[code]
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
public class Exemplo extends JFrame{
ImageIcon imagem;
int i,j;
JLabel jlabel;
Timer t;
public Exemplo() {
setLayout(null);
imagem =new ImageIcon(“bola.PNG”);
jlabel=new JLabel(imagem);
jlabel.setBounds(340,i, 70, 70);
add(jlabel);
t=new Timer(1,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
repaint();
i+=5;
if(i<260){
jlabel.setLocation(45, i-5);
}
}
});
t.start();
setVisible(true);
setSize(500,500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Exemplo();
}
}[/code]
Agora pra parecer que se mexe mesmo você faz um gif animado. Não sei se era isso que você queria, mas espero ter ajudado 
[quote=IsaRakel]Olha pra voce “caminhar” ate uma posiçao voce pode usar Timer e setLocation. Exemplo:
[code]
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
public class Exemplo extends JFrame{
ImageIcon imagem;
int i,j;
JLabel jlabel;
Timer t;
public Exemplo() {
setLayout(null);
imagem =new ImageIcon(“bola.PNG”);
jlabel=new JLabel(imagem);
jlabel.setBounds(340,i, 70, 70);
add(jlabel);
t=new Timer(1,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
repaint();
i+=5;
if(i<260){
jlabel.setLocation(45, i-5);
}
}
});
t.start();
setVisible(true);
setSize(500,500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Exemplo();
}
}[/code]
Agora pra parecer que se mexe mesmo você faz um gif animado. Não sei se era isso que você queria, mas espero ter ajudado :)[/quote]
Eu tentei colocar seu código mas quando coloco pra executar a frame nem abre e fica varios erros escritos na caixinha de baixo do netbeans
eu usei o eclipse, mas vc importou tudo? Eu testei aqui e vai. A imagem vai ate uma determinada posiçao 260
Claro que vai dar erro. Você por acaso tem uma imagem bola.png no seu projeto? Além disso, a variável i não foi inicializada. o repaint tem que vir depois do setlocation. Além disso, o ideal é usar o invoke later da class Swing utilities. Enfim, recomendo que você leia esse tutorial e adapte ao seu caso:
http://pontov.com.br/site/java/48-java2d/124-desenho-direto-active-rendering