Como mover uma imagem?

2 respostas
R

Eae pessoal, então eu naum consigo fazer uma imagem se mover, quer dizer, eu queria pelo menos mudar sua posição no Container.
Qdo eu utilizo o método setVerticalAligment(), dá erro, neste código q vai abaixo:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Interface extends JFrame {

 private Container container;//obtém o painel de conteúdo
 private JButton button1,button2;
 private JPanel panel;
 private JLabel label;
 private int x,y;
 private Icon bug1,bug2;
 
 public Interface() {
  super("Animação");
  
  container = getContentPane();//obtém o painel de conteúdo e configura seu leiaute
  container.setLayout(new BorderLayout());
  
  panel = new JPanel();
  panel.setLayout(new GridLayout(1,2));//cria um leiaute c/ 1 linha e 2 colunas
  
   bug1 = new ImageIcon("cheers.gif");//adicionar um gif ao botão
  button1 = new JButton("andar",bug1);//botão como JLabels suportam Icons(gifs)
  panel.add(button1);
  
  button2= new JButton("parar");
  panel.add(button2);
  
  container.add(panel,BorderLayout.SOUTH);
  
  label = new JLabel();
   bug2 = new ImageIcon("cameron[1].gif");
  label.setIcon(bug2);
  label.setEnabled(false);  
  x=label.getHorizontalAlignment();//devolve a posição x da label,coordenada
  y=label.getVerticalAlignment();
  container.add(label,BorderLayout.CENTER);
  
  // cria uma instância da classe interna ButtonHandler
  //para uso no tratamento de eventos de botão
  ButtonHandler handler = new ButtonHandler();
  button1.addActionListener(handler);
  button2.addActionListener(handler);
  
  setSize(250,300);
  setVisible(true);
  
  
  
 }

 public static void main(String[] args) {
  
  Interface o = new Interface();
  o.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 private class ButtonHandler implements ActionListener
 {
 public void actionPerformed(ActionEvent event) 
 {
 //JOptionPane.showMessageDialog(null,"You are pressed:"+event.getActionCommand()); 
 //event.getActionCommand retorna um String, o String do botão... 
 if(("andar").equals(event.getActionCommand()))//se ele der verdade, equals, comparação de Strings retorna true or false
 {
 label.setDisabledIcon(bug2);
 label.setVerticalAlignment(x+10);
 System.out.print(x);
  
 }
  
  
 }
 
 
 
}
}

como eu faço p/ mover este gif, tem algum método.

2 Respostas

F

tenta setar o layout como null, e usar setSize e setLocation para posicionar a imagem… dai qndo vc quiser mover, vc simplesmente usa o setLocation, e depois chama o metodo validate() do container para atualizar…

R

Eae Felipe, valeu mesmo, deu certo c/ o setLocation, mas naum precisei do uso do validate(), naum sei, mas deu certo.
Abração,Marcelo

Criado 21 de agosto de 2004
Ultima resposta 22 de ago. de 2004
Respostas 2
Participantes 2