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

Agents de placement/Fenêtres Java Discussion :

Positionnement et gridbaglayout


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Points : 66
    Points
    66
    Par défaut Positionnement et gridbaglayout
    Bonjour,

    Je ne comprends pas pourquoi mes composants ne se positionne pas en haut de ma fenetre.

    J'utilise un gridbaglayout et une classe GBC que voici :

    Je pense que je ne dois toujours pas utiliser correctement les parametres du GridBagConstraints, mais je ne vois pas ou.

    Quelqu'un pourrait-il m'eclairer svp ?

    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
    57
    58
    59
    60
     
    import java.awt.*;
     
    public class GBC extends GridBagConstraints {
     
    	public GBC (int gx, int gy)
    	{
    		this.gridx=gx;
    		this.gridy=gy;
    	}
     
    	public GBC (int gx, int gy, int gwx, int gwy)
    	{
    		this.gridx=gx;
    		this.gridy=gy;
    		this.gridwidth=gwx;
    		this.gridheight=gwy;
    	}
     
    	public GBC setAnchor(int anchor)
    	{
    		this.anchor=anchor;
    		return this;
    	}
     
    	public GBC setFill (int fill)
    	{
    		this.fill=fill;
    		return this;
    	}
     
    	public GBC setWeight(int wx, int wy)
    	{
    		this.weightx=wx;
    		this.weighty=wy;
    		return null;
    	}
     
    	/* Espacement dans toutes les directions entre les cellules */
    	public GBC setInsets(int distance)
    	{
    		this.insets=new Insets(distance,distance,distance,distance);
    		return this;
    	}
     
    	public GBC setInsets(int haut, int bas, int droite, int gauche)
    	{
    		this.insets= new Insets(haut,gauche,bas,droite);
    		return this;
    	}
     
    	//Agrandissement du composant
    	public GBC setIpad(int x, int y)
    	{
    		this.ipadx=x;
    		this.ipady=y;
    		return this;
    	}
     
    }
    et voici mon code :

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Image;
     
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.Border;
     
    /* Fenetre servant à afficher les infos necessaire au lancement */
     
    public class Cverif2 extends JFrame{
     
    	JPanel myPane = new JPanel();
    	JPanel myPaneCenter = new JPanel();
     
    	JLabel titreChargement = new JLabel();
     
    	JLabel verification = new JLabel();
    	JLabel verification2 = new JLabel();
     
    	public Cverif2()
    	{
     
    		BorderLayout myBorder = new BorderLayout();
     
    		GridBagLayout myFlow = new GridBagLayout();
     
     
    		myPane.setLayout(myBorder);
     
    		titreChargement.setText(" MES GESTIONS");
     
    		myPane.add(titreChargement, BorderLayout.NORTH);
     
     
    		myPaneCenter.setLayout(myFlow);
     
    		verification.setText("Connexion Bdd");
    		verification2.setText("Connexion au serveur");
     
     
     
    		myPaneCenter.add(verification,new GBC(0,0).setAnchor(GridBagConstraints.NORTH).setWeight(100, 100));
    		myPaneCenter.add(verification2, new GBC(0,1).setWeight(100, 80));
     
    		myPaneCenter.setBackground(Color.LIGHT_GRAY);
     
    		myPane.add(myPaneCenter,BorderLayout.CENTER);
     
     
    		myPane.setBackground(Color.LIGHT_GRAY);
     
    		add(myPane);
     
    		setAlwaysOnTop(true);
    		setUndecorated(true);
    		setResizable(false);
    		setLocationRelativeTo(this.getParent());
    		setSize(250,200);
    		setVisible(true);
     
     
    	}
     
    	public static void main(String[] args) {
     
    		new Cverif2();
    	}
     
    }
    merci

  2. #2
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    pour verification2 essai :
    de plus pour les 2 fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .setAnchor(GridBagConstraints.PAGE_START)
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Points : 66
    Points
    66
    Par défaut
    Salut,

    Désole mais ca ne change rien.

    Voici ce que j'ai mis en place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    myPaneCenter.add(verification,new GBC(0,0,0,1).setAnchor(GridBagConstraints.PAGE_START));
    myPaneCenter.add(verification2, new GBC(0,1,0,1).setAnchor(GridBagConstraints.PAGE_START));
    Merci de votre aide

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 155
    Points : 199
    Points
    199
    Par défaut
    Perso je fout mon panel avec grid bag constraint dans un autre avec un FlowLayout aligné à gauche.
    Si vous trouvez la solution, je suis preneur.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Qu'est ce que tu souhaites faire exactement avec tes deux JPanel ? Les placer l'un par rapport à l'autre ? Quel est le layout que tu veux utiliser pour ta fenêtre ?
    Moi, en général, je déclare un JPanel principal (celui que j'ajoute à la fenêtre) qui utilise un layout (celui que tu veux) qui contient les autres JPanel (qui peuvent contenir d'autres layout).
    C'est normal que tes JPanel ne se placent pas comme tu le veux sachant que tes layout sont appliqués à tes JPanel et non à la fenêtre en elle même (ou à un JPanel principal contenu dans la fenêtre).

    EDIT: P.S : Pourquoi tu redéclares toute la classe GridLayoutConstrains ?? la création d'un objet suffit pour initialiser les variables "gridx", "gridwidth" ...

Discussions similaires

  1. Positionner mon GridBagLayout
    Par UiYuki dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 09/01/2010, 13h07
  2. GridBagLayout : problème de positionnement
    Par Hell dans le forum Agents de placement/Fenêtres
    Réponses: 40
    Dernier message: 15/08/2008, 13h12
  3. [GridBagLayout] Pb de positionnement
    Par GyZmoO dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 08/12/2007, 12h02
  4. [Swing]Gestion du positionnement avec GridBagLayout
    Par yoshï dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/04/2006, 21h14
  5. [SWING] GridBagLayout positionnement des composants
    Par rprom1 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 28/03/2006, 14h54

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