View  Edit  Attributes  History  Attach  Print  Search

CODER : Java : Débuter avec SWT

Intro

Ressources

Codes

Le programme minimum


import org.eclipse.swt.widgets.*;

public class ClasseTestSWT {

public static void main (String [] args) {

        Display display = new Display ();

        Shell shell = new Shell(display);
        shell.open ();

        while (!shell.isDisposed ()) {
                if (!display.readAndDispatch ()) display.sleep ();

        } // fin while

        display.dispose ();

} // fin main

} // fin classe

 

Centrage de la fenêtre principale


import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

/**
 * ZetCode Java SWT tutorial
 *
 * In this program, we show a window in
 * the center of the screen
 *
 * @author jan bodnar
 * website zetcode.com
 * last modified June 2009
 */


public class SWTApp { // --- classe SWTApp


    public SWTApp(Display display) { // constructeur SWTApp à partir objet Display (gestion de la boucle)

        Shell shell = new Shell(display); // crée une fenêtre à partir de l'objet Display gestionnaire de boucle SWT

        //----- paramètres graphiques de la fenêtre ------
        shell.setText("Center"); // centre le texte
        shell.setSize(250, 200); // fixe la taille de la fenêtre

        center(shell); // centre la fenêtre - cf fonction center ci-dessous

        shell.open();

        while (!shell.isDisposed()) {
          if (!display.readAndDispatch()) {
            display.sleep();
          }
        }
    }


    public void center(Shell shell) { // fonction de centrage de la fenêtre - rçoit l'objet shell (fenêtre)  à centrer

        Rectangle bds = shell.getDisplay().getBounds(); // récupère rectangle taille affichage

        Point p = shell.getSize(); // récupère la taille ?

        int nLeft = (bds.width - p.x) / 2;
        int nTop = (bds.height - p.y) / 2;

        shell.setBounds(nLeft, nTop, p.x, p.y); // fixe la position de la fenêtre
    }


    public static void main(String[] args) { // fonction Main principale

        Display display = new Display(); // crée objet Display pour gestion boucle SWT (obligatoire)

        new SWTApp(display); // crée nouvelle instance classe SWTApp - cf ci-dessus

        display.dispose(); // RAZ objet Display ?

    } // fin fonction Main

} // -- fin classe SWTApp