Layouts (Flow,Border,Gridbag e agora o GroupLayout) qual usar?

Alguém tem alguma opnião sobre esse assunto?

[quote]

[quote]fcmartins escreveu:
Ê tópico ruim, já passou da hora de trancar. Programador Delphi cada vez mais se parece com os Clipeiros de alguns anos atrás.

Uma aplicação Java tem que rodar em várias plataformas, e os componentes da tela (botões, labels, caixas de texto, radios, etc.) usam fontes diferentes, têm altura e largura diferentes, espaçamentos diferentes, etc. Como posicionar os componentes absolutamente, em grades, no estilo do Delphi e VB, nessa situação? Simplesmente não dá.

Para resolver esse tipo de problema é que existe o conceito de gerenciadores de layout (conceito que existe em outras plataformas, além do Java). Usando um layout manager, você dá “dicas” de como os componentes vão ser dispostos na tela e o gerenciador se encarrega de posicionar os componentes na tela, cuidando de dimensionar e espaçar os componentes de acordo com o que prega o Look&feel usado.

Funciona perfeito? Claro que não, é por isso que existem vários layouts disponíveis no Java, ao longo dos anos foram sendo criados layouts para atender às necessidades de criação de diferentes tipos de telas e à necessida de facilitar o trabalho do programador. E o suporte aos Look&feels sempre foi sofrível (a eterna discussão do “não nativo o suficiente”), com bugs, gerando inclusive Look & feels de terceiros, como o Winlaf e o Quaqua, dedicados a corrigir os pontos em que a implementação fornecida com a JRE implementa de forma incorreta os padrões esperados.

A última evolução é o GroupLayout, incluído no Java 6, que posiciona os componentes relativos uns aos outros, ao longo de eixos, que é mais intuitivo e natural para o programador, porque é muito semelhante a usar o sistema de grades do Delphi e do VB, mas mantendo o suporte a múltiplas plataformas. [/quote]

Você escreveu isso em tópico, gostei muito da explicação. Percebe-se que você é um programador experiente.

Seguinte, minha duvido enquanto aos Layouts…
Aprendi Flow,Border,Card,Grid e GridBagLayout na faculdade, mas não de uma forma ampla, mas eu fui mais a fundo e aprendi mais sobres esses layouts…

Nao domino o GridBagLayout, mas é o layout que eu uso geralmente porque me deixa posicionar melhor os componentes.

E agora vejo que existe o GroupLayout e pelo que eu li em alguns tutorias me parece melhor, ate mais fácil ou não tanto complicado quanto ao GridBag.
E lendo os tutorias vejo que o NetBeans 5.5 desenha de uma forma muito fácil esse layout no container, eu vi um demo e não acreditei na facilidade.

Mas a minha pergunta é, não devo perder tempo em programar em “baixo nível” e devo usar NetBeans GUI Building e não praticar o programação do layout e me concentrar em outros coisas do meu projeto.

Eu tenho o livro do Deitel 6ª edição, voce sabe se já tem algum livro falando sobre o Java 6?

Você tem alguma dica, conselho, curso, sugestão, para me tornar um programador melhor?
Obrigado,
Rafael.[/quote]

Olha cara, Java ainda está meio atrás das outras linguagens a respeito de programação desktop. claro q o GroupLayout já facilita bastante. O Netbeans permite q vc monte um layout no estilo do VB ou Delphi, clicando e arrastando os componentes da tela, muito + fácil e rápido, porém participei de um projeto com interface desenvolvida em Netbeans com JDK 1.4 e JRE 1.4, mas qdo tentei rodar numa jre 1.3, não rodou. Na época conversei com o pessoal aqui do GUJ, pois fiquei surpreso já que deveria rodar, e me explicaram q esse layout do netbeans não era nativo Java dai o problema de compatibilidade. Dá pra fazer mas não lembro direito, o pessoal pode te ajudar depois, vc tem q ver quais os arquivos vc precisa atualizar e etc para sua aplicação rodar

Eu prefiro não usar layout, assim fica tudo á minha maneira e evito possíveis erros derivados do uso de layouts.

ehh. eu tmb… eu uso o layout(null)… da trabalho pq vc tm q definir as bounds de tds os elementos… mais fica td do jeito q eu qro no final :slight_smile:

Desculpem discordar, ai vai ficar tudo do jeito do VB, se vc maximiza a tela vai tudo pro espaço, prefiro as vezes ter um trabalho maior com os layouts e ter a garantia de que ela ira se portar de maneira igual em qualquer tela e/ou ambiente

[quote=neohacker]Desculpem discordar, ai vai ficar tudo do jeito do VB, se vc maximiza a tela vai tudo pro espaço, prefiro as vezes ter um trabalho maior com os layouts e ter a garantia de que ela ira se portar de maneira igual em qualquer tela e/ou ambiente

8)[/quote]

Eu tambem acho isso, da mais trabalho.
NeoHacker, ja visse o GroupLayout? Achei bem mais facil do que o GridBag

simples de resolver isso

setResizable(false);

:wink: