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 :

GridBagLayout : first_line_start


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Par défaut GridBagLayout : first_line_start
    Bonjour,

    j'ai un petit problème avec un placement de label, et je ne trouve pas ou est le problème car pour moi, tout devrait se mettre comme je le souhaite étant donné le 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
     
    Public class FenetreAjouterServeur extends JPanel {
            this.setLayout(new BorderLayout());
     
            //définition des composants
            JLabel nomS = new JLabel("Nom : ");
            JPanel panIns = new JPanel(new GridBagLayout());
     
            // définition des contraintes
            GridBagConstraints gbc = new GridBagConstraints();
    	gbc.anchor = GridBagConstraints.FIRST_LINE_START;
    	gbc.gridx = 0;
    	gbc.gridy = 0;
    	gbc.weightx = 1.;
    	gbc.insets = new Insets(5,5,10,5);
     
            // ajout dans les panels
    	panIns.add(nomS,gbc);
            this.add(panIns,BorderLayout.NORTH);
    }
    Et mon JLabel ne s'affiche pas dans le coin supérieur gauche, mais il s'affiche eu plein milieu de l'écran (horizontalement) et au dessus.
    Or avec le FIRST_LINE_START est sensé placer mon composant à gauche non ?
    meme si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.add(panIns,BorderLayout.WEST);
    ça ne va pas

    J'suis vraiment perdu, je ne comprends pas pourquoi se composant s'obstine à rester au milieu, si vous pouviez m'éclairer ce serait bien sympa

    Merci !!

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Ton code est juste, comme le montre l'implémentation ci-dessous. Ton problème vient peut-être justement du fait de ton implémentation !?

    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
    import java.awt.BorderLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class Fen {
     
    	public static void main(String[] args) {
    		JFrame f = new JFrame();
     
    		f.setContentPane(new FenetreAjouterServeur());
    		f.setSize(200, 200);
    		f.setVisible(true);
    	}
     
    }
     
    class FenetreAjouterServeur extends JPanel {
     
    	public FenetreAjouterServeur() {
    		this.setLayout(new BorderLayout());
     
    	    // définition des composants
    	    JLabel nomS = new JLabel("Nom : ");
    	    JPanel panIns = new JPanel(new GridBagLayout());
     
    	    // définition des contraintes
    	    GridBagConstraints gbc = new GridBagConstraints();
    		gbc.anchor = GridBagConstraints.FIRST_LINE_START;
    		gbc.gridx = 0;
    		gbc.gridy = 0;
    		gbc.weightx = 1.0;
    		gbc.insets = new Insets(5,5,10,5);
     
    	        // ajout dans les panels
    		panIns.add(nomS,gbc);
    	    this.add(panIns,BorderLayout.NORTH);
    	}
     
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Par défaut
    Mouarf, en commençant à rassembler le code pour montrer mon implémentation, je pense avoir trouvé mon problème, c'est effectivement un petit problème de panel inclus dans un panel …

    Vive le gridBag

    En tout cas, merci pour ta réponse !!

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Heu, où est-ce que tu créé new FenetreAjouterServeur() ?
    Tu n'as pas donner ton implémentation complète !

    Ensuite, tu ne peut pas écrire du code en dehors de méthode et de constructeur comme tu le fait

    Ceci est incorrecte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class FenetrePrincipale extends JFrame {
    	private Container cont;
    super("Fenetre de test");
    		setSize(800, 700);
    		cont = new Container();
    		cont = getContentPane();
    JButton ajouter = new JButton("ajouter");
    	ActionAjouter act = new ActionAjouter(this);
    		ajouter.addActionListener(act);
    }
    Ceci est correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class FenetrePrincipale extends JFrame {
    	private Container cont;
     
    public FenetrePrincipale() {
    super("Fenetre de test");
    		setSize(800, 700);
    		cont = new Container();
    		cont = getContentPane();
    JButton ajouter = new JButton("ajouter");
    	ActionAjouter act = new ActionAjouter(this);
    		ajouter.addActionListener(act);
    }
    }
    D'ailleurs tu ne devrais même pas pouvoir compiler !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Par défaut
    j'avais fait une fausse manip, j'ai lancé ma réponse sans avoir fini, j'étais en train d'éditer quand tu postais

    Encore merci !!

Discussions similaires

  1. [GridBagLayout] Problème de dimension pour un JScrollPane
    Par cmoa59 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 26/07/2005, 12h58
  2. GridBagLayout, JTextField ou Choice,je ne sais pa
    Par tck-lt dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 20/07/2005, 19h24
  3. [UI]Aide sur les GridBagLayout
    Par leup dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 19/05/2005, 18h35
  4. [Swing] probleme de GridBagLayout
    Par calypso dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/04/2005, 18h26
  5. [débutant]GridBagLayout
    Par pingoui dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/12/2004, 18h43

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