Layout - Espaçamento entre componentes na vertical[Resolvido]

6 respostas
K

Pessoal, to aqui estudando inteface gráfica e é o seguinte, pintou uma dúvida.
Já dei uma olhada na documentação Java e não achei nada que me ajudasse.

Fiz uma aplicação simples, que usa um painel que usa BorderLayout (Lembra-se? NORTH, SOUTH, WEST,CENTER,EAST) e no painel da esquerda(um JPanel) eu adiciono três botões, atualmente eu estou usando um BoxLayout setado para inserir no eixo Y.

painelesq.setLayout(new BoxLayout(painelesq,BoxLayout.Y_AXIS));
	painelesq.add(bGravar);
	painelesq.add(bBuscar);
	painelesq.add(bSair);

E os botões saem colados, como podem ver na figura:

Alguém sabe de um Layout que me permita por um espaço entre os botões?

6 Respostas

M

use flowlayout, ele tem um espaçamento padrão se não me engano de 5px… só tem que tomar cuidado ao redimensionar janela… pra naum deformar… vc pode definir a orientação dos componentes também no flowlayout…
para naum ficarem umdo lado do outro caso a janela aumente…

[]'s

R

Ksi,

Pesquisando, achei esse link. Talvez ajude.
https://cis.med.ucalgary.ca/https/java.sun.com/docs/books/tutorial/uiswing/layout/box.html

abraço!

B

marllonSimoes: nossa que romance eim ?
huehuehuehuehuehehuheue :wink: :stuck_out_tongue: :roll: :slight_smile: :smiley:

ksi:
velho recomendo a leitura da revista JavaMagazine edicao 39.
Interfaces graficas com qualidade.
ref:
www.jgoodies.com


Tb recomendo vc procurar algo sobre o GlassFish.

e a url
javamagazine.com.br/downloads/jm39/jm-gui2.zip

boa sorte filho, an se souber de alguem que manje de AJAX, pede pra dar 1 olhadinha no meu topic velho ?
abrass
http://www.guj.com.br/posts/list/0/49151.java#257711

K

Então pessoal, já dei uma olhada nesse link que o rapaz acima indicou e o problema é que o boxLayout não tem o “gap” do FlowLayout, e eu já havia pensado em usar o flowLayout, mas eu tava querendo uma forma mais simples de resolver o problema, o jeito mesmo vai ser modificar o tamanho máximo e mínimo do painel para que ele jogue os itens para baixo.
Vou editar aqui e depois posto o código.

Obrigado!

K

Bem… problema resolvido, nem precisei fazer maracutaia. :lol:

Foi só usar o GridLayout, pois ele possui a configuração de gap.

Isso pode ser feito de duas maneiras:
Adicionando-se cada botão em uma linha em um grid de 3 linhas e uma coluna:

painelesq.setLayout(new GridLayout(3,1,0,5));
        //0px de espaço horizontal, 5px vertical
	painelesq.add(bGravar);
	painelesq.add(bBuscar);
	painelesq.add(bSair);

Ou Adicionando-se todos botões em uma única coluna:

painelesq.setLayout(new GridLayout(0,1,0,5));
        //0px de espaço horizontal, 5px vertical
	painelesq.add(bGravar);
	painelesq.add(bBuscar);
	painelesq.add(bSair);

Obrigado por que respondeu o tópico.

B

firmeza
eh nozes

Criado 5 de janeiro de 2007
Ultima resposta 5 de jan. de 2007
Respostas 6
Participantes 4