IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

Positionnement avec GridLayout


Sujet :

SWT/JFace Java

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Par défaut Positionnement avec GridLayout
    Bonsoir,

    quelqu'un pour me dire comment centrer mes 3 label sur une même ligne ?
    Malgré que je définisse un GridLayout de 3 colonnes, les 3 labels sont les uns sur les autres tout à gauche....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Color;
    import org.eclipse.swt.graphics.Image;
    import org.eclipse.swt.layout.GridData;
    import org.eclipse.swt.layout.GridLayout;
    import org.eclipse.swt.layout.RowLayout;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Group;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.swt.widgets.Shell;
     
    public class LayoutTest {
     
     
    	public static void main(String[] args) {
    		Display display = new Display();
    		Shell shell = new Shell(display);
    		Composite mainComposite = new Composite(shell, SWT.NONE);
    		mainComposite.setSize(300,300);
     
    		GridLayout mainLayout = new GridLayout();
    		mainLayout.numColumns = 3;
    		mainComposite.setLayout(mainLayout);
     
    		Label leftArrow = new Label(mainComposite, SWT.NONE);
    		leftArrow.setText("L");
    		leftArrow.setSize(15, 15);
    		GridData leftArrowLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    		leftArrow.setLayoutData(leftArrowLayoutData);
     
    		Label title = new Label(mainComposite, SWT.NONE);
    		title.setText("Le titre");
    		title.setSize(100, 15);
    		title.setAlignment(SWT.CENTER);
    		title.setBackground(new Color(display, 255, 255, 255));
    		GridData titleLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
    		title.setLayoutData(titleLayoutData);
     
    		Label rightArrow = new Label(mainComposite, SWT.NONE);
    		rightArrow.setText("R");
    		rightArrow.setSize(15, 15);
    		GridData rightArrowLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
    		rightArrow.setLayoutData(rightArrowLayoutData);
     
    		shell.open();
    		while(!shell.isDisposed()) {
    			if(!display.readAndDispatch()) {
    				display.sleep();
    			}
    		}
    		shell.dispose();
    		display.dispose();
    	}
    }
    Que faut-il faire pour avoir " L Le titre R " ?

    Merci à vous

    Gal'

  2. #2
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Par défaut
    Salut,

    Plusieurs petites choses.

    - Il te manque un agent de placement au niveau de la Shell
    - Ne pas définir de taille sur les composants vu que c'est les agents de placement qui les définies
    - Supprime le style Grab_Horizontal

    Regarde le code donné ci-dessous

    Mickael

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
        public static void main(String[] args) {
            Display display = new Display();
            Shell shell = new Shell(display);
            shell.setLayout(new GridLayout(1, false));
            Composite mainComposite = new Composite(shell, SWT.NONE);
            mainComposite.setSize(300,300);
     
            GridLayout mainLayout = new GridLayout();
            mainLayout.numColumns = 3;
            mainComposite.setLayout(mainLayout);
            
            Label leftArrow = new Label(mainComposite, SWT.NONE);
            leftArrow.setText("L");
            GridData leftArrowLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
            leftArrow.setLayoutData(leftArrowLayoutData);
            
            Label title = new Label(mainComposite, SWT.NONE);
            title.setText("Le titre");
            title.setAlignment(SWT.CENTER);
            title.setBackground(new Color(display, 255, 255, 255));
            GridData titleLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
            title.setLayoutData(titleLayoutData);
            
            Label rightArrow = new Label(mainComposite, SWT.NONE);
            rightArrow.setText("R");
            GridData rightArrowLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_END);
            rightArrow.setLayoutData(rightArrowLayoutData);
                    
            shell.open();
            while(!shell.isDisposed()) {
                if(!display.readAndDispatch()) {
                    display.sleep();
                }
            }
            shell.dispose();
            display.dispose();
        }
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Par défaut
    Okay, mais si je ne veux pas d'agent de placement au niveau de la shell mais au niveau de la composite ?

    Serais-tu en train de me dire qu'un composite peut avoir un layout si et seulement si tous ses parents jusqu'à la shell on aussi un layout défini ? (parce que je ne l'ai vu écrit nulle part et serais très surpris.... mais heureux d'avoir ma réponse )

    Merci à toi...

    Gal'

  4. #4
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Par défaut
    Salut,

    Faut bien définir comment seront agencés les éléments de la Shell, non ?

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Par défaut
    ben heu...non. Ce n'est pas une évidence même. Il pourrait y avoir un layout par défaut (je pensais que c'était le cas) et donc que j'avais du FillLayout quand je ne mettais rien...et qu'il me poserait pas pb pour les fils.

    Gal'

  6. #6
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Par défaut
    Salut,

    Par défaut, il n'y en a pas. A l'opposé dans Swing une JFrame dispose d'un FlowLayout comme agent de placement.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Par défaut
    oki ben merci en tout cas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Swing]Gestion du positionnement avec GridBagLayout
    Par yoshï dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/04/2006, 21h14
  2. Probleme avec GridLayout ..
    Par Seth77 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 04/01/2006, 23h47
  3. Pb de dessin avec GridLayout
    Par mystik11 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/12/2005, 16h26
  4. [CSS]Problème de positionnement avec div
    Par Tueur_a_gage dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 25/10/2005, 23h48
  5. pb positionnement avec float
    Par jerome38000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/08/2005, 19h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo