Qual gerenciador de Layout utilizar? [Resolvido]

Estou tendo sérios problemas ao gerenciar os componentes na minha Panel.

Já não sei mais qual gerenciador de Layouts utilizar.

Eu só quero um que insira os elementos um abaixo do outro.

obs: por favor, não me apontem o tutorial que tem no forum a respeito de interfaces graficas. Já sei do tutorial decorado.

obrigado.

[quote=LuizRocha]Saudações.

Acho que posso ajudar.
Você sabe como esses componentes são: todos cheios de frescura. Não sabem se virar sozinhos se a gente não apontar o caminho (claro)…

[/quote]

Hum, bem interessante a sua sugestao, mas eu ja estava usando o lindo GridLayout, contudo estava tudo muito grande com espaços sem nada dentro.

Vou tentar fazer o que voce esta dizendo.

[quote=LuizRocha]Saudações.


____Existe uma solução mais óbvia: use o GridLayout. Assim: container.setLayout(new GridLayout(1,X)) onde X é o numero de linhas que a grade vai ter. O número de linhas deve ser igual ao número de componentes que ficarão “baixo a baixo”.

[/quote]

Desculpe mas, axo que o X deve ser o numero de colunas,

Eu geralmente uso o GridBadLayout, para praticamente tudo. Mas não faço nada na mão, uso para isso o VE. Às vezes, dentro de um GridBag, coloco na parte de baixo do form outro panel, com um flowlayout, para colocar os botões…

Existe também o Matisse no Netbeans, que vai usar um LayoutManager próprio (não me lembro o nome), que já estará presente no Java 6.

O fato é, use um construtor visual e pare de se incomodar tanto com Layouts. Não vale a pena e o resultado final fica muito melhor, portável e permitindo redimensionamento.

[quote=ViniGodoy]Eu geralmente uso o GridBadLayout, para praticamente tudo. Mas não faço nada na mão, uso para isso o VE. Às vezes, dentro de um GridBag, coloco na parte de baixo do form outro panel, com um flowlayout, para colocar os botões…

Existe também o Matisse no Netbeans, que vai usar um LayoutManager próprio (não me lembro o nome), que já estará presente no Java 6.

O fato é, use um construtor visual e pare de se incomodar tanto com Layouts. Não vale a pena e o resultado final fica muito melhor, portável e permitindo redimensionamento.[/quote]

O que é esse VE? onde posso fazer o download, já procurei na net mas nao encontro. a maquina que eu to eh meio lenta. Nao uso o netbeans porque ia ficar muito pesado.

Estava me referindo ao Visual Editor, do Eclilpse.

Mas estou um pouco insatisfeito com ele. O matisse me parece bem melhor. Mas qualquer IDE com construtor automático é melhor do que fazer na mão.

[quote=ViniGodoy]Estava me referindo ao Visual Editor, do Eclilpse.

Mas estou um pouco insatisfeito com ele. O matisse me parece bem melhor. Mas qualquer IDE com construtor automático é melhor do que fazer na mão.[/quote]

Aqui eu estava usando o eclipse mas acredita que ele ficou pesado?

dai agora eu fui para o JCreator.

E nele ainda nao axei nada parecido com um editor visual.

Ja tentou o jigloo… eh bem simples de usar…

falow

[quote=guildc]Ja tentou o jigloo… eh bem simples de usar…

falow[/quote]

O Jigloo é realmente um plugin muito bom para interfaces gráficas… Em relação ao layout manager, o FormLayout mudou a minha vida… Heheheh! Dê uma olhada no framework JGoodies Forms! Vale ressaltar que o próprio Jigloo suporta o FormLayout do JGoodies.

problema resolvido.

utilizei o BoxLayout com a propriedade Y_AXIS.

vejam:[code]

public Janela(){
this.setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
//Create a file chooser
fc = new JFileChooser();

[/code]

thanks for everybody.

Saudações.

Acho que posso ajudar.
Você sabe como esses componentes são: todos cheios de frescura. Não sabem se virar sozinhos se a gente não apontar o caminho (claro).

____É o seguinte: tudo vai depender do tamanho dos seus componentes. Se você usar um FlowLayout enviando FlowLayout.CENTER como argumento os componentes ficarão no centro da janela, A NÃO SER QUE o container (janela, painel, etc) seja mais largo que dois componentes os quais devam ficar um embaixo do outro - isto é, se a soma da largura deles for menor que o do container. Eles ficarão lado a lado.
____ Nesse caso você pode controlar o tamaho dos componentes ou do container usando o método setPreferredSize(), que recebe como argumento um objeto da classe Dimension. Por exemplo: componente.setPreferredSize(new Dimension(50, 200));

____Existe uma solução mais óbvia: use o GridLayout. Assim: container.setLayout(new GridLayout(1,X)) onde X é o numero de linhas que a grade vai ter. O número de linhas deve ser igual ao número de componentes que ficarão “baixo a baixo”.
____MAS EIS QUE SURGE UM PROBLEMA: os componentes ficarão do tamanho da célula. Uma coisa horrível de feia. A solução é colocar um painel cujo layout é FlowLayout (enviando FlowLayout.CENTER) como argumento. Assim os componentes ficarão no meio da célula e com o su tamanho original.

Essa é a idéia. Quem sabe você até transforma isso numa classe e facilita o trabalho.

Boa sorte.