Layouts

Vimos alguns exemplos simples que mostram como dimensionar ou posicionar widgets filho com base no tamanho do pai. Até então, esse tipo de computação ocorria em resposta a um ouvinte de redimensionamento. Geralmente, essa é a melhor maneira de manipular o posicionamento simples do widget. No entanto, há padrões comuns utilizados pelos aplicativos ao posicionar widgets. Esses padrões podem ser estruturados como algoritmos de layout configuráveis que podem ser reutilizados por muitos aplicativos diferentes.

O SWT define os layouts que fornecem o posicionamento e o dimensionamento gerais dos widgets filho em um composto.Os layouts são classes filha da classe abstrata Layout.Os layouts padrão do SWT podem ser encontrados no pacote org.eclipse.swt.layout.

É preciso compreender algumas definições gerais de redimensionamento e posicionamento de widgets:

Esses conceitos são relevantes para os aplicativos, independentemente do layout utilizado. Você pode pensar em um layout como uma maneira conveniente de compactar a funcionalidade de redimensionamento para reutilização.

Alguns conceitos adicionais são introduzidos pelos layouts:

Consulte Compreendendo layouts no SWT  para obter outras abordagens e figuras demonstrando esses conceitos.

O fragmento de código a seguir mostra o caso simples de um aplicativo utilizando um retorno de chamada de redimensionamento para dimensionar um rótulo de acordo com o tamanho de seu shell pai:

   Display display = new Display ();
   Shell shell = new Shell (display);
   Label label = new Label (shell, SWT.CENTER);
   shell.addControlListener (new ControlAdapter () {
      public void controlResized (ControlEvent e) {
         label.setBounds (shell.getClientArea ());
      }
   });

O próximo framento utiliza um layout para conseguir o mesmo efeito:

   Display display = new Display ();
   Shell shell = new Shell (display);
   Label label = new Label (shell, SWT.CENTER);
   shell.setLayout (new FillLayout ());

Mesmo neste exemplo simples, a utilização de um layout reduz o código do aplicativo. Em layouts mais complexos, a simplificação é bem maior.

O SWT fornece quatro classes de layout padrão que podem ser utilizadas em muitas situações.

Copyright IBM Corporation e outros 2000, 2003.