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

Composants Java Discussion :

[JLABEL]Fixer la taille


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 287
    Par défaut [JLABEL]Fixer la taille
    Bonjour,

    J'ai un panel contenant un JList et auquel j'ai ajouté un Jlabel. En fonction des données contenues dans la JList, mon Jlabel se met à jour. Le probléme est que la taille de mon panel change en fonction du contenu de mon JLabel, ce qui est trés "inesthétique". Je cherche donc à fixer la taille de ce dernier afin d'éviter ce redimensionnement du panel.
    Auriez-vous une idée?

    Le layout de mon panel est BoderLayout. S'il serait possible de régler ce probléme sans modifier le Layout cela m'arrangerai grandement.

    Merci beaucoup.

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Je crois que le BorderLayout est ingérable pour contrôler la taille des composants ; tu peux toutefois essayer en fixant à la même valeur les min, max et preferred size de ton JLabel.

    Sinon, mets ton JLabel dans un JPanel encadrant, ce JPanel avec un BoxLayout par exemple, tu fixes les min max et preferred de ton JLabel et ça devrait aller. Le BoxLayout du JPanel encadrant trompera le BoderLayout externe, hi ! hi ! hi !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 287
    Par défaut
    Aurais-je perçu un rire diabolique dans ta réponse

    Bon j'ai testé en procédant par l'utilisation d'un jpanel secondaire (en fait c'est ce que je faisais depuis le début) mais cela ne change rien.
    A ce second JPanel j'ai testé comme layout BoxLayout(Y_AXIS) et Springlayout.

    Voilà le code utilisé pour le SpringLayout
    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    JPanel surfTotPanel = new JPanelTrans(new SpringLayout());//surfTotPanel et mon panel secondaire
    _surfaceTotale = new JLabel("Surface Totale"); //Ici un premier Jlabel
    _surfaceTotale2 = new JLabel(); //et ici le Jlabel qui pose problème.
    Dimension dimension = new Dimension(10,10);
    _surfaceTotale2.setMaximumSize(dimension);
    _surfaceTotale2.setMinimumSize(dimension);
    _surfaceTotale2.setPreferredSize(dimension);
    surfTotPanel.add(_surfaceTotale); 
    surfTotPanel.add(_surfaceTotale2);
    SpringUtilities.makeCompactGrid(surfTotPanel, 1, 2, 0, 0, 0, 0);
    rightPanel.add(surfTotPanel, BorderLayout.SOUTH); //J'ajoute le panel secondaire au panel principale. Celui-ci contient déjà un JscrollPane dans son CENTER et à un BORDER (je précise au cas où cela pourrait servir)


    Et le code utilisé pour le BoxLayout
    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    JPanel surfTotPanel = new JPanel();
    //surfTotPanel et mon panel secondaire
    surfTotPanel.setLayout(new BoxLayout(surfTotPanel,BoxLayout.Y_AXIS));
    _surfaceTotale = new JLabel("Surface Totale"); //Ici un premier Jlabel
    _surfaceTotale2 = new JLabel(); //et ici le Jlabel qui pose problème.
    Dimension dimension = new Dimension(10,10);
    _surfaceTotale2.setMaximumSize(dimension);
    _surfaceTotale2.setMinimumSize(dimension);
    _surfaceTotale2.setPreferredSize(dimension);
    surfTotPanel.add(_surfaceTotale); 
    surfTotPanel.add(_surfaceTotale2);
    rightPanel.add(surfTotPanel, BorderLayout.SOUTH); //J'ajoute le panel secondaire au panel principale. Celui-ci contient déjà un JscrollPane dans son CENTER et à un BORDER (je précise au cas où cela pourrait servir)


    Est-ce moi qui est raté quelque chose ou mon code est OK et dans ce cas as tu une autre idée machiavélique?


    [EDIT]J'ai trouvé comment résoudre mon probléme : J'ai ajouté mon panel secondaire à un JScrollPane avant de l'ajouté au panel principal.

    Merci de ton aide et bonne journée.

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

Discussions similaires

  1. [Tkinter]comment fixer la taille de la fenetre
    Par airod dans le forum Tkinter
    Réponses: 1
    Dernier message: 19/12/2005, 17h14
  2. Fixer une taille minimale d une fenetre
    Par anouar dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 27/10/2005, 00h53
  3. css fixer une taille pour les select
    Par NeHuS dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/10/2005, 10h00
  4. Fixer la taille d'une cellule d'un tableau
    Par Philofish dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 25/08/2005, 16h04
  5. [Débutant][JLabel] Connaître la taille du texte
    Par Herisson_f dans le forum Composants
    Réponses: 8
    Dernier message: 04/05/2005, 10h53

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