#Este é um post fechado Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!
Artigo Java Magazine 14 - A Vida, o Universo e Tudo Mais
Artigo publicado pela Java Magazine 06.
A Vida, o Universo e Tudo Mais
Formulários no Desktop
Criação de layouts simples e poderosos
Você precisa fazer uma interface para uma aplicação desktop em Java, coloca um botão e ele fica grande demais; posiciona alguns campos de texto e se tornam muito pequenos; tenta alinhá-los e parece que eles nunca terminam onde você quer. Você pode não saber, mas está tendo problemas com os Layout Managers. Muitos desenvolvedores Java passaram (ou ainda passam) por isso: os Layout Managers já causaram confusão na cabeça de muita gente. Acostumados a posicionar suas interfaces de forma fixa, muitos desenvolvedores não entendem porque ao criar uma aplicação em Java precisam usar essas classes, que insistem em posicionar os componentes com tamanhos e lugares aparentemente arbitrários...
Layout Managers: existe uma razão
Desenvolvedores de linguagens como VB e Delphi estão acostumados a posicionar seus componentes com tamanhos e extensões definidos. À primeira vista, essa parece ser a forma mais fácil de posicionar componentes. O que nem sempre é óbvio para o desenvolvedor é que os tamanhos dos botões, campos de texto, e mesmo das fontes na tela são diferentes de uma plataforma para outra. Ao posicionar componentes visuais de forma fixa, variações de alguns pixels no contorno dos componentes, por exemplo, pode tornar sua interface inutilizável em outra plataforma. E sabemos que um dos objetivos de Java é permitir o desenvolvimento de aplicações que rodem em muitas plataformas.
Essa é a principal razão de ser dos Layout Managers. Os "gerenciadores de layout" são responsáveis por posicionar e dimensionar componentes, garantir que se adaptem aos tamanhos da tela e de fonte e se ajustem às diferenças em decorações dos componentes (molduras, efeitos 3D etc.) entre plataformas. Ao utilizar Layout Managers, o desenvolvedor especifica como os componentes se relacionam, mas não define o local fixo de cada um, deixando os detalhes específicos de posicionamento e de tamanhos a cargo dos ersos gerenciadores de layout.
Essa separação entre a criação dos componentes e o seu posicionamento ajuda a tornar as interfaces mais flexíveis. Isso é fundamental para que a aplicação se adapte a outras plataformas, mas também é importante em outras situações. Por exemplo, na criação de aplicações multilingüe, onde tamanhos de textos – mesmo a ordem de componentes – varia dependendo do idioma. Essa adaptabilidade e maior capacidade de internacionalização é especialmente importante hoje, dado o enfoque cada vez maior na exportação de software no Brasil.
Aplicando Layout Managers
Os Layout Managers são uma propriedade dos Containers: (J)Panels, (J)Frames, (J)Windows, e seus similares. Cada container possui o seu gerenciador, e é trabalho do container posicionar e gerenciar os componentes contidos nele. De longe o container mais utilizado é o "painel" (JPanel no Swing, Panel no AWT). Como pode ser colocado dentro de outros painéis (ou de qualquer outro container), o painel é muito utilizado para compor layouts, como podemos ver na Figura 1.
Usando layouts dentro de layouts, e contando com a variedade de Layout Managers existentes, é possível criar telas bastante sofisticadas. Você pode também criar seus próprios Layout Managers, para posicionar componentes da forma que achar melhor. Na prática, uma composição dos gerenciadores genéricos, em especial os mais sofisticados e poderosos como o GridBagLayout, permite criar a maioria das interfaces.
O dia-a-dia dos layouts
ATENÇÃO! A exibição deste artigo foi interrompida.
#Este é um post fechado Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!

Space do autor

Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL

0
0
Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!