JLabel se movimentando

2 respostas
R

Olá pessoal,

Seguinte, preciso que uma aplicação faça com que um componente (um JLabel) movimente-se horizontalmente seguindo determinadas coodernadas, isso em tempo de execução. Por exemplo: o JLabel inicia no lado esquerdo e vai caminhando até o lado direito.

Alguém sabe como fazer ou tem alguma dica?

Vlw

2 Respostas

F

cara… ai ta um codigo bem rapido q eu fiz, mas a label se movimenta muito rapido, entao achonselho vc modificar o codigo colocando umas threads e dando uns “sleeps” dentro do “for”, faznedo assim com que ela se movimente mais de vagar.

import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 * @author Fernando Scalia
 *
 * Olha ai, acho q e o que vc esta querendo.
 */
public class Movimento extends JFrame{
//jlabel; variavel que vai fazer a movimentacao; jbutton que vai startar a movimentacao.
	private JLabel label = new JLabel("FERNANDO");
	int posicao;
	JButton botao = new JButton("inicio");
	
	
	public Movimento(){
	//parametros do frame principal
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		this.setSize(400, 250); 
		this.setVisible(true);
		this.getContentPane().setLayout(null);
		
		//parametros da jlabel
		label.setBounds(posicao,5,90,30);
		this.getContentPane().add(label);
		
		//parametros do botao 
		botao.setBounds(5,95,50,50);
    	this.getContentPane().add(botao, null);
    	//acao do botao
    	botao.addMouseListener (new MouseAdapter() {
          public void mouseClicked(MouseEvent e) {
            // Chamada ao Procedimento
          	try{
          		for (int i = 0;i < 150; i++){
          			posicao++;
          			label.setBounds(posicao,5,90,30);
          		}
          	}catch(Exception ex){ex.printStackTrace();}
        }});

		this.show();
	}
	
	public static void main(String[] args) {
		Movimento mov = new Movimento();
	}
}
R

Valeu fer_scalia, era isso mesmo que eu precisava. O solucionador do meu problema é o método setBounds. Obrigado.

Criado 20 de março de 2005
Ultima resposta 21 de mar. de 2005
Respostas 2
Participantes 2