You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
INTERFACE GRÁFICA CO M O USUÁRIO<br />
Gerenciadores de Layout<br />
Uma das principais características da linguagem <strong>Java</strong> é a sua portabilidade, que dispensa os<br />
desenvolvedores de preocupações com aspectos de hardware. Interfaces gráficas, entretanto, possuem<br />
dependência dos dispositivos nos quais serão exibidas – a resolução, cores e suporte a eventos são<br />
exemplos de aspectos relevantes em um projeto que envolve interface gráfica com o usuário (GUI). Na<br />
maioria das linguagens, o programador define previamente a aparência da GUI, incluindo o tamanho e<br />
posicionamento dos componentes, e este aspecto é fixo e imutável a menos que haja uma mudança no<br />
código.<br />
Imagine um programa codificado para rodar em um monitor com resolução de 800 x 600 pixels sendo<br />
executado em um monitor de apenas 640 x 400 pixels. Provavelmente isto acarretará problemas de<br />
posicionamento dos componentes ou eventualmente a perda de visibilidade destes componentes.<br />
Linguagens compiladas como C++ ou Delphi exigem que o programador saiba de antemão as<br />
características de hardware para os quais ele está programando, ou então adotar estratégias de<br />
verificação destas características no momento da abertura ou instalação dos programas – o que agrega<br />
complexidade ao algoritmo e reduz a a portabilidade dos programas.<br />
Em <strong>Java</strong> não tratamos o posicionamento e dimensionamento dos componentes gráficos rígidamente,<br />
mas sim através de processos independentes chamados de gerenciadores de layout. Isto permite que um<br />
código gerado no sistema operacional Windows, em uma resolução alta, seja executado sem perda de<br />
forma ou função em outros sistemas operacionais, como Linux ou Machintosh – ou até mesmo em<br />
dispositivos especiais, como Palms ou telefones celulares.<br />
Containers<br />
Interfaces gráficas em <strong>Java</strong> são construídos a partir da idéia de containers, repositórios de componentes<br />
gráficos que possuem um processo gerenciando a disposição e dimensão destes componentes. O<br />
interpretador <strong>Java</strong> requisita ao sistema operacional uma região de vídeo e, a partir desta região, calcula a<br />
dimensão que cada componente deve assumir em tempo de execução – esta organização é chamada de<br />
Layout (disposição em inglês). Este processo de gerenciamento é transparente ao usuário e<br />
normalmente só é executado na primeira vez em que o programa entra em execução ou após um<br />
redimensionamento da janela. Abaixo exemplificaremos os principais gerenciadores de layout para<br />
conteiners AWT:<br />
o FlowLayout<br />
o CardLayout<br />
o GridLayout<br />
o BorderLayout<br />
o GridBagLayout<br />
86