Como capturar a base de um JLabel?

7 respostas
ReneDouglasbr3

Galera alguem sabe como capturar a base de um JLabel (quadrado)? preciso posicionar os jLabels de a cordo com sua base… Obrigado

7 Respostas

Gleidson_Henrique

A Base de um JLabel? Você está se referente ao comprimento, é isso?

Se for, utilize:

label.getWidth();

Abraços

ReneDouglasbr3

Ah me desculpe nao expliquei direito… Mas consegui resolver o problema obrigado

ViniGodoy

Que tal explicar qual era o problema e já postar aqui a solução? Outros podem ter o mesmo problema que você no futuro.

ReneDouglasbr3

Axo q me frustrei pensei ter resolvido o problema, mas nao consegui. Bom vou tentar explicar…

Estou criando um jogo de plataforma e para representar o personagem no JFrame uso um JLabel no personagem.

O problema é que ao colocar varios personagens diferentes no Chão eles ficam com "chãos"diferentes… acontece é q alguma imagens sao maiores q outras aí acho que o problema é q ao igualar a imagem ao CHAO acho q a funcao setBounds() está igualando o Chão a partir da base de cima do retangulo e nao da de baixo (pé do personagem).

setBounds(this.x, this.y, paradoDireita.getIconWidth(), paradoDireita.getIconHeight());

creio eu q está assim (vou tentar desenhar…)

CHAO____________________
|_| < – personagem (JLabel)

mas eu queria assim…

_

CHAO________| |_______________< – personagem (JLabel)

Então quando crio varios JLabels de tamanhos diferentes eles ficam em "chaos"diferentes… mas se todos estivesse no Chao de a cordo com a Base de Baixo (pé do personagem) não teria problemas…

No setBounds no lugar do y tentei colocar y+this.getHeight(), mas nao foi… o getHeight retorna 0… aí o personagem continua do mesmo jeito…

ViniGodoy

Não é uma boa ideia usar componentes do Swing para fazer um game de plataforma. O ideal seria usar o Java 2D:
http://pontov.com.br/site/java/48-java2d

De qualquer forma a posição y do seu personagem deveria ser:
y = posicao do chao - altura do personagem.

ReneDouglasbr3

Agora deu certo ! Mt Obrigado. Queria ter feito o joguinho com JAVA 2D, mas como ja estou acabando ele ai nao vou ter tempo… :?
Mas quando fizer outro usarei o java 2D.

Obrigado a todos

ViniGodoy

ReneDouglasbr3:
Agora deu certo ! Mt Obrigado. Queria ter feito o joguinho com JAVA 2D, mas como ja estou acabando ele ai nao vou ter tempo… :?
Mas quando fizer outro usarei o java 2D.

Faça games no Android, ou usa o XNA, que é bem mais adequado para jogos e parecido com Java.

Criado 12 de outubro de 2012
Ultima resposta 14 de out. de 2012
Respostas 7
Participantes 3