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.
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.
importjava.awt.Rectangle;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;/** * @author Fernando Scalia * * Olha ai, acho q e o que vc esta querendo. */publicclassMovimentoextendsJFrame{//jlabel; variavel que vai fazer a movimentacao; jbutton que vai startar a movimentacao.privateJLabellabel=newJLabel("FERNANDO");intposicao;JButtonbotao=newJButton("inicio");publicMovimento(){//parametros do frame principalthis.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(400,250);this.setVisible(true);this.getContentPane().setLayout(null);//parametros da jlabellabel.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 botaobotao.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){// Chamada ao Procedimentotry{for(inti=0;i<150;i++){posicao++;label.setBounds(posicao,5,90,30);}}catch(Exceptionex){ex.printStackTrace();}}});this.show();}publicstaticvoidmain(String[]args){Movimentomov=newMovimento();}}
R
renatobachPJ
Valeu fer_scalia, era isso mesmo que eu precisava. O solucionador do meu problema é o método setBounds. Obrigado.