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

avec Java Discussion :

Taille d'un panneau au centre d'un borderlayout


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut Taille d'un panneau au centre d'un borderlayout
    Bonsoir.
    J'ai créé un JFrame et j'ai ajouté le panneau panneauPrincipal qui a un BorderLayout sur son Contentpane.
    Ensuite, j'ai ajouté au centre de panneauPrincipal le panneau panneauGrille.
    Mais quand je règle la taille de panneauGrille à 100,100, il occupe encore tout le centre de panneauPrincipal au lieu de respecter ces dimensions.

    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
     
    public FenetreAffichage(int width, int height) {
    		setTitle("Evolution de la grille");
    		setSize(width, height);
    		addWindowListener(new WindowAdapter() {
    			public void windowClosing(WindowEvent e) {
    				System.exit(0);
    			}
    		});
    		JPanel panneauPrincipal=new JPanel(new BorderLayout());
    		panneauPrincipal.setBackground(Color.white);
    		this.getContentPane().add(panneauPrincipal);
    		panneauGrille=new PanneauGrille();
    		panneauPrincipal.add(panneauGrille, BorderLayout.CENTER);
    		JLabel etape=new JLabel("essai");
    		panneauPrincipal.add(etape, BorderLayout.NORTH);
     
    	}
     
    	public void afficheEtatsSuccessifs(Grille gr) {
    		panneauGrille.setBackground(Color.BLUE);
    		panneauGrille.setSize(new Dimension(100,100));
    	}
    Je suppose que c'est parce qu'étant au centre d'un BorderLayout, le panneau remplit toute la place?
    Quelle est la solution?
    Merci.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut
    Pas de réponse?
    Pourquoi, quand j'exécute la méthode afficheEtatsSuccessifs(grille), les dimensions(100, 100) du panneau panneauGrille ne sont pas appliquées?
    Merci.

  3. #3
    Membre habitué
    Avatar de baxou087
    Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2010
    Messages : 49
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Comme tu l'as suppose, il n'est effectivement pas possible de modifier la taille d'un composant se trouvant a l'interieur d'un BorderLayout. Il faudrait utiliser un Layout qui autorise la modification des composants qu'il incorpore (par exemple un GridBagLayout).

    Le mieux c'est que tu consultes la doc pour trouver un Layout qui corresponde plus a tes besoins
    A force de trop vouloir avancer on en oublie d'être idiot

    Ne m'en veuillez pas pour les fautes d'accentuation, mais Qwerty oblige et j'aime Qwerty


    La douleur de la colere ne se situe pas dans la peur, mais plutot dans ce qu'on ne peut accepter.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut
    OK. Finalement, j'ai mis un panneau au centre du borderlayout dans lequel j'ai mis le panneau dont je veux imposer les dimensions.

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

Discussions similaires

  1. Tabular+cellule taille fixée+centrée+mode math - Again !
    Par Platona dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 10
    Dernier message: 06/10/2009, 07h34
  2. Tabular+taille cellule fixée+contenu centré+mode math ?
    Par Platona dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 5
    Dernier message: 05/10/2009, 21h38
  3. [CS3] Centré son site par rapport à la taille de l'écran
    Par HAbroc dans le forum Dreamweaver
    Réponses: 5
    Dernier message: 28/09/2009, 12h05
  4. fenetre qui s'adapte à la taille de son panneau
    Par Virgile le chat dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 10/06/2009, 22h34
  5. Réponses: 6
    Dernier message: 02/11/2006, 19h27

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