Movimentando imagens

6 respostas
E

Olá..
sou novo no java e no forum..

queria saber se há alguma forma de movimentar imagens para criar animações em uma frame.

dando coordenadas x,y da imagem por exemplo.

se possivel queria tambem saber se há como girar tal imagem.

aqui vai o codigo que fiz apenas para a imagem
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");       
     frame.getContentPane().add(new JLabel(new ImageIcon("C:/Dev-Pas/imgres.jpg")));  
     frame.setSize(800,600);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.setLocationRelativeTo(null);
     frame.setVisible(true);
        
    }
}

Agradeço desde ja :D

6 Respostas

charleston10

Da pra usar o compenente TimerBean que é um contador, assim em cada contagem voce coloca um bloco de código
mudando o local da imagem, com isso voce cria uma movimentação dela.

Mas pra animação existe outros recursos, se é pra isso não aconselho o TimerBean, pois o deslizamento da imagem não
seria tão “perfeito”.

Ou também pode se usar Thread para fazer a contagem, enfim…

Da uma olhada nos tópicos

http://www.guj.com.br/java/78314-animacao-em-java

Outro ponto, se voce quer criar animação mesmo, ou jogo…
a melhor ferramenta é usar JavaFx além do design ser focado nisso, há inumeras ferramentas dentro dela
disponiveis para isso, é mto mais facil…


animação feita em javafx (http://javafree.uol.com.br/artigo/873899/Exemplo-de-animacao-com-JavaFX-Usando-TimeLine.html)

JavaFx é tipo um Flash em java mas muito melhor…
Tem um grupo no facebook que a maioria manja javafx se tiver interesse entra la http://www.facebook.com/groups/javaaberto/

E

não tem alguma ‘função’ que faça isso no java? dando coordenadas x/y ou rotacionando a imagem?
caso não …
javafx é diferente de java?
caso sim…
onde posso encontrar um tutorial basico?

agradeço desde ja =)

charleston10

Sim, tem essas funções

Para rotacionar imagem

AffineTransform aff = new AffineTransform(); g2d.drawImage(MinhaImagem, aff, this); aff.rotate(.01, MinhaImagem.getWidth() / 2, MinhaImagem.getHeight();

Mais sobre AffineTransform http://www.guj.com.br/java/211258-affinetransform-pra-que-serve

Para mudar de posição atraves de cornenadas

Componente.setLocation(x,y);

Movimentando botão atraves do mouse (http://javaaberto.blogspot.com.br/2012/05/movimentar-botao-em-um-jframe.html)

Se for usar animação ou jogo JavaFx é mais aconselhado, não há tanta diferença; há mais recursos visuais…

E

desculpa a demora para responder

poderia aplicar essas funções no meu código?
tentei de tudo mas não acontece nada com a imagem

javaFX? por onde começo ‘-’?

charleston10

Esta usando alguma IDE ?

E

sim.. estou usando netbeans 7.2

segue o código

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"));   
     label.setLocation(10,10);
     frame.add(label);
     frame.setSize(800,600);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.setLocationRelativeTo(null);
     frame.setVisible(true);
              
        
}

}
Criado 19 de agosto de 2012
Ultima resposta 23 de ago. de 2012
Respostas 6
Participantes 2