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

Interfaces Graphiques en Java Discussion :

Positionner mon GridBagLayout


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 45
    Points : 34
    Points
    34
    Par défaut Positionner mon GridBagLayout
    Bonsoir à tous

    J'ai créé une interface en Java qui est composée de plusieurs composants (JLabel, JButtons, etc), et j'ai utilisé un GridBagLayout pour les positionner correctement. Le hic, c'est que l'ensemble de ces composants est centré au milieu de la fenêtre, or j'aimerais qu'ils soient centrés horizontalement, mais qu'ils partent du haut de la fenêtre.
    Comment faire ? Voici mon code actuel :

    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
    public class CommandScreen extends JFrame implements ActionListener{
     
    	JPanel panneau = new JPanel();
    	GridBagLayout layout = new GridBagLayout();
    	GridBagConstraints gbc = new GridBagConstraints();
    	// Les JLabel, JButton implémentés
     
    	public CommandScreen() {
     
    		panneau.setLayout(layout);
     
    		ajouterComposant(bouton1, 3, 0, 2, 1);
    		ajouterComposant(label1, 0, 1, 2, 1);
                    // etc pour chaque composant
     
    		this.setContentPane(panneau);
    		this.setBounds(200, 200, 600, 600);
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setTitle("Ecran de commandes");
    		this.setVisible(true);
    	}
     
    	public void ajouterComposant(Component composant, int colonne, int ligne, int largeur, int hauteur)
    	{
    		gbc.gridx = colonne;
    		gbc.gridy = ligne;
    		gbc.gridwidth = largeur;
    		gbc.gridheight = hauteur;
    		gbc.insets = new Insets(20, 20, 0, 0);
    		layout.setConstraints(composant, gbc);
    		panneau.add(composant);
    	}
    }
    Merci d'avance !

  2. #2
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Le GridBagLayout utilise 11 paramètres. Ici tu en utilise seulement 5.

    regarde ici pour en apprendre plus.
    Normalement, c'est cela que tu voulais obtenir : (9 /11 paramètres)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ajouterComposant(bouton1, 3, 0, 2, 1,1.0f,0.0f,GridBagConstraints.HORIZONTAL,GridBagConstraints.BASELINE_LEADING);
    ajouterComposant(label1, 0, 1, 2, 1,1.0f,1.0f,GridBagConstraints.NONE,GridBagConstraints.PAGE_START);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void ajouterComposant(Component composant, int colonne, int ligne, int largeur, int hauteur, float weightx,float weighty,int  fill, int anchor)
    	{
    		gbc.gridx = colonne;
    		gbc.gridy = ligne;
    		gbc.gridwidth = largeur;
    		gbc.gridheight = hauteur;
    		gbc.insets = new Insets(20, 20, 0, 0);
                    gbc.fill =fill;
                    gbc.anchor =  anchor;
                    gbc.weightx=weightx;
                    gbc.weighty=weighty;
    		layout.setConstraints(composant, gbc);
    		panneau.add(composant);
    	}
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

Discussions similaires

  1. Positionner mon image comme logo
    Par king_soft dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/12/2010, 20h37
  2. positionner mon lien dans ma div
    Par nico le noob dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 15/06/2010, 14h15
  3. Positionnement et gridbaglayout
    Par ganjah06 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 04/07/2008, 16h10
  4. [Swing]Gestion du positionnement avec GridBagLayout
    Par yoshï dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/04/2006, 21h14
  5. [VB.NET][2.0]Positionner mon combobox sur un item déterminé
    Par Golzinne dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/03/2006, 14h30

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