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 :

[Débutant] Centrer un JPanel dans un JFrame


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Par défaut [Débutant] Centrer un JPanel dans un JFrame
    Bonjour à tous,

    Malgré mes recherches, je bloque toujours sur ce truc tout bête (Swing en JRE 1.6).
    Je veux centrer un JPanel de 3 JLabel dans une JFrame, basique non ?
    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
     
    public class Start implements KeyListener {
     
    	private BoiteLabel boiteDeJLabel;
     
    	/**
             * @param args
             */
    	public Start() {
    		Dimension tailleEcran = java.awt.Toolkit.getDefaultToolkit()
    				.getScreenSize();
    		final JFrame frame = new JFrame();
     
    		frame.setSize(tailleEcran);
    		frame.setUndecorated(false);
     
    		frame.addKeyListener(this);
     
    		final Pane unPane = new Pane();
     
    		frame.getContentPane().add(unPane, BorderLayout.CENTER);
    		frame.setVisible(true);
     
    	}
     
    	public static void main(String[] args) {
     
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				Start start = new Start();
    			}
    		});
    	}
     
    	private class Pane extends JPanel {
    		private Pane() {
    			Border b = BorderFactory.createLineBorder(Color.black);
    			setBorder(b);
    			boiteDeJLabel = new BoiteLabel();
    			List<JLabel> listeJLabel = boiteDeJLabel.getListeJLabel();
    			Iterator<JLabel> it = listeJLabel.iterator();
    			int compteur = 1;
    			while (it.hasNext()) {
    				JLabel jLabel = it.next();
    				jLabel.setBorder(b);
    				add(jLabel);
    				compteur++;
    			}
    		}
    	}
     
    }
    Bin je me retrouve toujours avec mes pauvres 3 JLabel, centrés, mais tout en haut de ma Frame.
    Pourtant, le layout par défaut d'un JFrame, c'est bien BorderLayout et je fait un BorderLayout.CENTER !

    Merci à tous

  2. #2
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    unPane.setLocation(x,y); ?

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Par défaut
    Merci, je viens d'essayer et toujours le même résultat. Mes 3 labels, centrés mais bloqués en haut de la Frame.

    Si quelqu'un à une autre idée ?

    Je vois pas ou cela merde.

    Merci à tous

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut
    Le BorderLayout.CENTER c'est pour te positionner par rapport aux autres composants (en dessous du composant que tu ajouteras au BorderLayout.NORTH par exemple)

    Si tu utilise unPane.setLocation() ou unPane.setBounds() en mettant setLayout(null), tu n'a plus qu'a calculer les coordonnées pour te mettre au milieu...

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Par défaut
    Merci beaucoup, cela fonctionne comme cela pour les specs de mon projets.

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

Discussions similaires

  1. [NetBeans 5.5] Changer de jPanel dans un jFrame ?
    Par MAXXPER dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 13/11/2006, 08h18
  2. Positionner précisement plusieurs JPanel dans une JFrame.
    Par RadicalBob dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 13/06/2006, 23h42
  3. un même JPanel dans deux JFrame
    Par blaise_laporte dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 20/04/2006, 17h20
  4. Ajout de JPanel dans un JFrame
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/04/2006, 13h22
  5. Gestion de menu, JPanels dans une JFrame
    Par Doc.Fusion dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 03/12/2004, 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