devstory

Le Tutoriel de Java SWT FillLayout

  1. FillLayout
  2. Exemple de FillLayout

1. FillLayout

FillLayout est la classe de mise en page (layout) la plus simple. Elle met des contrôles (controls) sur une seule ligne ou une seule colonne afin de les forcer à avoir la même taille.
FillLayout horizontal :
FillLayout vertical :
//  Create a Horizontal FillLayout.
FillLayout fillLayout= new FillLayout(SWT.HORIZONTAL);

// Set Layout for component
component.setLayout(fillLayout);

// Create a Vertical FillLayout.
FillLayout fillLayout= new FillLayout(SWT.VERTICAL);

// Set Layout for component
component.setLayout(fillLayout);
margin & spacing
FillLayout fillLayout= new FillLayout(SWT.HORIZONTAL);
fillLayout.marginHeight= 20;
fillLayout.marginWidth= 20;
fillLayout.spacing=15;

2. Exemple de FillLayout

L'exemple de FillLayout horizontal :
HorizontalFillLayoutDemo.java
package org.o7planning.swt.filllayout;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class HorizontalFillLayoutDemo {

  public static void main(String[] args) {
      Display display = new Display();
      Shell shell = new Shell(display);
      shell.setText("SWT FillLayout (o7planning.org)");

      //  Create a Horizontal FillLayout.
      FillLayout fillLayout= new FillLayout(SWT.HORIZONTAL);
      shell.setLayout(fillLayout);
  
      Button button1=  new Button(shell, SWT.NONE);
      button1.setText("Button 1");

      Button button2=  new Button(shell, SWT.NONE);
      button2.setText("Button 2");
  
      Button button3=  new Button(shell, SWT.NONE);
      button3.setText("Button 3");

      shell.setSize(400, 250);
      shell.open();
      while (!shell.isDisposed()) {
          if (!display.readAndDispatch())
              display.sleep();
      }
      display.dispose();
  }
}
L'exemple de FillLayout horizotal avec la marge et la distance (margin et spacing) :
HorizontalFillLayoutDemo2.java
package org.o7planning.swt.filllayout;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class HorizontalFillLayoutDemo2 {
  
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setText("SWT FillLayout (o7planning.org)");
  
        FillLayout fillLayout= new FillLayout(SWT.HORIZONTAL);
        fillLayout.marginHeight= 20;
        fillLayout.marginWidth= 20;
        fillLayout.spacing=15;
        shell.setLayout(fillLayout);
        Button button1=  new Button(shell, SWT.NONE);
        button1.setText("Button 1");
    
        Button button2=  new Button(shell, SWT.NONE);
        button2.setText("Button 2");
      
        Button button3=  new Button(shell, SWT.NONE);
        button3.setText("Button 3");

        shell.setSize(400, 250);
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();
    }
}