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 :

[debutant] setSize Jpanel


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Par défaut [debutant] setSize Jpanel
    bonjour,

    j'ai un JPanel. Dedans, je mets soit des JList de taille variable, soit des JtextArea, soit des Jlabel, soit des JTextField.

    comment faire pour que le JPanel ait une taille fixe?
    par exemple, si j'ai une JList qui fait 2 lignes et une autre qui en fait 5, je voudrais que le JPanel ait toujours la meme taille, et que qd il n'y a que 2 lignes, le reste soit rempli par du blanc.

    je pensais utiliser setSize() qui prend en parametre 2 entiers: la hauteur et la largeur en pixels. pensez vous que setSize est bien la methode adaptée pour ce que je veux? et si oui pourriez vous me donner un ordre de grandeur si je veux un Jpanel de hauteur 8 cm et de largeur 5 cm pour les avoir en pixels ?

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 54
    Par défaut
    essaitla methode tonJPanel.setPreferredSize(new Dimension(x,y))

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Par défaut
    slt,
    deja merci pr ta réponse.
    g essayé ta methode. ça me redimensionne bien mon JPanel mais j'ai un probleme!

    au depart , dans mon JPanel, g une JList qui fait 2 lignes. Puis je la remove et je add, dans ce meme JPanel, un Jlabel associé à un JtextField. Le jlabel est au nord du jpanel et le jtextfield au sud.

    qd je ne redimensionnais pas mon jpanel, sa taille variait en fonction des composants qui etaient dedans mais tout s'affichait comme il faut.

    maintenant que je le redimensionne, le jlabel s'affiche tout au nord, le jtextfield au sud, mais entre les 2 il y a encore un bout de la jlist qui reste. Ce bout de jlist comble le reste du jpanel. or moi ce que je voudrais, c'est que le jlabel soit au nord, le jtextfield au sud, et que le reste du jpanel soit comblé avec du gris.

    comment faire?
    comment ça se fait que la jlist n'est pas supprimée alors que j'ai fait un remove ? (d'ailleurs, qd je ne redimensionne pas le jpanel, la jlist n'apparait plus). merci de votre aide.

    ce que j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    --------------------
         jlabel
    --------------------
            un
          bout
           de
          ma jist
        precedente
    --------------------
         jtextfield
    --------------------
    ce que je voudrais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    --------------------
         jlabel
    --------------------
            rien
            rien
            rien
            rien
    --------------------
         jtextfield
    --------------------
    ou encore mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    --------------------
         jlabel
    --------------------
         jtextfield
    --------------------
            rien
            rien
            rien
            rien
    --------------------

  4. #4
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    si tu veux être libre de ce que tu fais en swing tu fais un setLayout(null) et tu fais un setBounds sur tous tes composants

    pour ce qui est de la jlist qui disparaît pas tu dois fare un repaint() ou un validate() (je sais plus lequel) sur le conteneur (ici le panel)

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Par défaut
    Excellent!
    j'avais deja mis le revalidate sur mon jpanel. dc j'ai testé de mettre le repaint en plus et ça fonctionne.
    merci bcp.

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

Discussions similaires

  1. [debutant] : rafraichissement de JPanel
    Par sam.fet dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 17/02/2006, 09h39
  2. [debutant] taille d'un JPanel
    Par Tempotpo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 10/02/2006, 16h37
  3. [Debutant]Probleme dimensionnement JPanel dans CardLayout
    Par etiennegaloup dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 22/12/2005, 20h08
  4. [debutant][swing] Probleme avec un Jpanel
    Par JeanMoul dans le forum Débuter
    Réponses: 6
    Dernier message: 27/08/2005, 20h07
  5. [DEBUTANT] Affichage de jpanel
    Par cosmos38240 dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 25/05/2004, 01h48

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