Layout MIG

Olá estou usando o Eclipse com o plugin WindowBuilder, só que eu estou utilizando o Layout Mig será que é uma boa? Ou tem outros layouts mais robustos que me deem um controle melhor do código? :smiley:

Use o MigLayout, ele é muito flexível. (O problema de ele ser muito flexível é que ele é muito flexível :slight_smile: )

Neste caso posso opta-lo em utiliza-lo como meu Layout padrão sem problemas? Rsrsrs, não entendi o “flexivel por ser flexivel” me explique melhor man… rsrsrsrs.

É que você pode ter um pouco de dificuldade de aprender o MigLayout no começo, justamente porque ele permite muitos layouts diferentes.

(E é por isso que eu disse que o problema de ele ser muito flexível é que ele é muito flexível :slight_smile: )

De qualquer maneira, se entender que ele pode se comportar como um layout de

em HTML, se quiser, torna-se muito fácil usá-lo.

É diferente do BorderLayout, ou do BoxLayout, ou do FlowLayout, que são coisas muito bitoladas.

Ou do GroupLayout (Matisse), que é bastante enigmático (mesmo lendo o tutorial da Sun em http://docs.oracle.com/javase/tutorial/uiswing/layout/group.html ).

eu utilizo o MigLayout
ele não é difícil
a vantagem é que o código fica muito mais limpo, mais fácil de manter e se tem mais controle
a desvantagem é a produtividade que fica um pouco menor, porém com a prática isso é contornado
depois que aprendi a utilizar, hoje só utilizo o miglayout e aposentei o Matisse
hehe

E o que vocês acham do GridBagLayout? E do GridBagLayout em relação a esse MIG? Ainda não usei esse MIG, eu uso o GridBagLayout juntamente com o Matisse. Geralmente crio o JFrame com BorderLayout e um JPanel por dentro com o GridBagLayout e vou modificando pelo ferramenta do GridBagLayout que tem no NetBeans que é possível ver linhas e colunas e tal.

Para falar a verdade eu ainda não entendi o GridLayout e o GridBagLayout. Voce coloca a quantidade de colunas e linhas e quando vai add um Component dentro dele com os parametros de col, e row em seus devidos valores, ele nunca fica aonde agente quer. O Mig é muito parecido com o GridLayout e GridBagLayout, mas a vantagem do MIg é que ele lhe da flexibilidade de escolher o layout que voce quiser. Eu acho!! :slight_smile: :lol:

Talvez você fazendo isso na “mão” não consiga com tanta facilidade, mas já com o NetBeans isso fica bem mais fácil, veja essa imagem que eu printei uma vez:

Viu? É muito mais fácil fazer assim.

[size=18]Uma outra imagem de uma aplicação com GridBagLayout com um pouco mais de componentes:[/size]

Eu faço uma campanha “vamos eliminar o GridBagLayout da face da Terra”. Ele é muito complicado de usar, mesmo com ferramentas.

http://madbean.com/anim/totallygridbag/

1 curtida

Eu faço uma campanha “vamos eliminar o GridBagLayout da face da Terra”. Ele é muito complicado de usar, mesmo com ferramentas.

http://madbean.com/anim/totallygridbag/

[/quote]

Vi o vídeo do link. Esse MIG Layout é melhor apenas por deixar usar outros Layouts dentro dele é isso? O que ele tem de bom? É muito mais fácil em relação ao GridBagLayout?

Lucas, um grande problema do GridBagLayout é que você tem de criar um monte de objetos do tipo GridBagConstraints e outras coisas mais esquisitas, e ainda por cima não posso definir coisas como “percentagens” que muitas vezes são necessárias para poder mostrar uma janela que seja redimensionável. Você só consegue definir, no GridBagConstraints, pesos (que nunca consegui estipular corretamente :frowning: )

Se você já fez layout de tabelas em HTML (usando coisas como etc.) vai perceber que o modelo conceitual é muito, muito mais simples de entender que o do GridBagLayout.

E o MigLayout permite criar todos esses “constraints” como texto, não como objetos, o que simplifica horrores o código. Isso não torna seu programa mais lento porque na hora de criar o layout esses constraints de texto são transformados em objetos, mas você não precisa se preocupar com isso.

[quote=entanglement]Lucas, um grande problema do GridBagLayout é que você tem de criar um monte de objetos do tipo GridBagConstraints e outras coisas mais esquisitas, e ainda por cima não posso definir coisas como “percentagens” que muitas vezes são necessárias para poder mostrar uma janela que seja redimensionável. Você só consegue definir, no GridBagConstraints, pesos (que nunca consegui estipular corretamente :frowning: )

Se você já fez layout de tabelas em HTML (usando coisas como etc.) vai perceber que o modelo conceitual é muito, muito mais simples de entender que o do GridBagLayout.

E o MigLayout permite criar todos esses “constraints” como texto, não como objetos, o que simplifica horrores o código. Isso não torna seu programa mais lento porque na hora de criar o layout esses constraints de texto são transformados em objetos, mas você não precisa se preocupar com isso. [/quote]

Vou acessar o site e tentar brincar um pouco com esse MIG Layout. Se eu gostar, vou passar a usá-lo. Obrigado pela explicação. No NetBeans vai ter que ser feito na mão mesmo né, ou tem alguma ferramenta visual para auxílio?

Não sei, porque o NetBeans só suporta o GroupLayout (e esses layouts padrão do Java), se não me engano.