Elrendezések

Gyakran a legjobb módszer az egyszerű felületi elem pozícionálásának kezelésére egy átméretezés-eseményfigyelő. A felületi elemek elhelyezésekor vannak az alkalmazások által közösen használt minták. Ezek a minták strukturálhatók konfigurálható elrendezési algoritmusként, amelyet a különböző alkalmazások újból használhatnak.

Az SWT elrendezéseket ad meg, amelyek a leszármazott felületi elemek általános célpozícionálását és -méretezését biztosítják egy összetételben. Az elrendezések a Layout absztrakt osztályainak alosztályai. Az SWT szokásos elrendezései az org.eclipse.swt.layout csomagban találhatók meg.

A felületi elemek átméretezése és pozícionálása során néhány általános definíció kerül alkalmazásra:

Ezek az alapelvek fontosak az alkalmazások számára függetlenül attól, hogy az elrendezést használják-e. Az elrendezés a csomag átméretezési funkció megfelelő módja újrafelhasználáshoz.

Az elrendezések néhány további fogalmat is bevezetnek:

A fogalmak további leírását és képes bemutatót a SWT elrendezések megismerése rész tartalmaz.

Az alábbi kódrészlet egy egyszerű esetet jelenít meg, amelyben az alkalmazás egy átméretezés visszahívást tartalmaz a címke méretének a szülő-parancsértelmező méretére állításához:

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

A következő részlet egy elrendezést használ ugyanezen hatás eléréséhez:

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

Az elrendezés még ezen egyszerű példa esetén is egyszerűsíti az alkalmazáskódot. Bonyolultabb elrendezések esetén az egyszerűsítés még látványosabb.

Az alábbi táblázat összefoglalja az SWT által biztosított általános elrendezéseket.

Elrendezés
Cél
FillLayout A vezérlőelemeket egy sorban vagy oszlopban rendezi el és ezáltal kikényszeríti, hogy egyforma méretűek legyenek.
FormLayout A FormAttachments segítségével pozícionálja a leszármazottat a baloldali, jobboldali, alsó és felső szélek beállítása érdekében.
GridLayout A leszármazottat oszlopok és sorok szerint pozícionálja.
RowLayout A leszármazottat vízszintes sorokba vagy függőleges oszlopokba helyezi.