30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!