GridBagLayout - Utilidade

Oi pessoal.

Eu sempre achei muita ajuda aqui no GUJ. Eu nunca pude contribuir muito, pois sinceramente nem acho que posso fazer muito pela comunidade, rs… mas estou tocando um projeto (aplicação desktop, necessariamente) e depois de pesquisar, decidi que era melhor faze-lo com o bom e velho swing.

Ocorre que o swing é bem, digamos, excêntrico, para quem programou durante 10 anos em Delphi, né? E minha experiência com aplicações WEB foi toda com o ZK (que é outra “dama” na hora de desenhar as telas), então, eu tive que ralar pra entender o GridBagLayout… e aprendi.

Eu criei uma classe que talvez possa ser útil àqueles que trabalham com GridBagLayout. Eu sempre achei muito chato ter que ficar inicializando as propriedades do GridBagConstraints para desenhar os componentes na tela. Então eu resolvi desenvolver uma classe que tem um método onde eu passo uma string inicializando minhas propriedades e este método me retorna um GridBagConstraints pronto para uso.

Para fins de esclarecimento, seria algo assim:

EVAGBC evaGbc = new EVAGBC();
GridBagConstraints gbc = evaGbc.obterGBC("gridx=0;gridy=0");			
this.getContentPane().add(this.pnlOdontograma,gbc);

Na segunda linha eu inicializo as propriedades que eu quiser. O que for omitido terá o valor padrão (e não último usado). E não há uma ordem específica, ele se vira. Tem me ajudado bastante, talvez possa ajudar alguém aqui. Eu estou disponibilizando a classe e um pequeno exemplo.

Como eu disse, tem me ajudado bastante. Lembra até aquelas stringconnections que costumamos usar para conectar em bancos de dados.

Espero que possa ajudar.

Paz!