Layout

Sono stati illustrati alcuni semplici esempi su come dimensionare o posizionare widget secondari in base alla dimensione dell'elemento principale di riferimento. Fino ad ora, questo tipo di calcolo si è verificato come risposta ad un listener di ridimensionamento. Questo è spesso il modo migliore per gestire il posizionamento di widget semplici. Tuttavia, esistono modelli comuni utilizzati dalle applicazioni durante il posizionamento di widget. Tali modelli possono essere strutturati come algoritmi di layout configurabili che è possibile riutilizzare con molte diverse applicazioni.

SWT definisce i layout che forniscono la dimensione e la posizione generale di widget secondari in un composto. I layout sono sottoclassi della classe astratta Layout. I layout SWT standard si trovano nel pacchetto org.eclipse.swt.layout.

Durante il ridimensionamento e il posizionamento di widget è necessario comprendere alcune definizioni generali.

Questi concetti sono rilevanti per le applicazioni indipendentemente dall'utilizzo di un layout. In effetti, un layout può rappresentare un modo conveniente per impacchettare funzionalità ridimensionate per un successivo riutilizzo.

Alcuni concetti aggiuntivi vengono introdotti mediante i layout.

Per ulteriori concetti e relative rappresentazioni, consultare Comprensione dei layout in SWT .

Il seguente frammento di codice mostra il semplice caso di un'applicazione che utilizza un callback di ridimensionamento per portare la dimensione di un'etichetta alla dimensione della rispettiva shell principale.

   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 ());
      }
   });

Il successivo frammento utilizza un layout per ottenere lo stesso effetto:

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

Anche per questo semplice esempio, l'utilizzo di un layout riduce il codice dell'applicazione. Per layout più complessi, la semplificazione è maggiormente notevole.

SWT fornisce quattro classi di layout predefinite che possono essere utilizzate in diverse situazioni.

Copyright
IBM Corp. e altri 2000,2002.