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

AWT/Swing Java Discussion :

JScrollPane, Vertical Box et Box.createGlue()


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut JScrollPane, Vertical Box et Box.createGlue()
    bonjour à tous,

    voilà: j'aimerais construire un scrollPanel contenant une collection de jPanel disposés verticalement et devant avoir une hauteur d'environ 30 pixels chacun.

    Mon arborescence de Components :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    JScrollPanel 'scrollPanel'
       +-- JPanel 'collectionPanel' (layout = BoxLayout, Y_AXIS)
               +-- JPanel 'item1' (layout = GridBagLayout)
               +-- JPanel 'item2' (layout = GridBagLayout)
               +-- JPanel 'item3' (layout = GridBagLayout)
               +-- javax.swing.Box.createVerticalGlue()
    Mon problème est le suivant : quand mon 'scrollPanel' fait, disons 300 pixels de haut et que j'ai 3 items, je me retrouve avec des items ayant une hauteur de 300/3 = 100 pixel, alors que je voudrais 3x30 = 90 pixels et le reste (210 pixels) laissé vide.

    J'ai bien tenté d'ajouter en fin de liste un Component venant de Box.createVericalGlue(), mais ça ne change absolument rien à l'affaire. Quelqu'un aurait-il une idée ?

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ajoutes directement ces JPanel faisant la hauteur voulue en tant que prefferedSize à un BoxLayout (appliqué à un JPanel bien sûr) vertical.

  3. #3
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    salut,

    Citation Envoyé par sinok
    Ajoutes directement ces JPanel faisant la hauteur voulue en tant que prefferedSize à un BoxLayout (appliqué à un JPanel bien sûr) vertical.
    Tout d'abord merci pour ta réponse, mais j'ai du mal à comprendre exactement ce qui diffère entre ta solution et la mienne.

    Si ça consiste à coder 'en dur' la preferredSize (ie. définir la dimension en pixels dans le code), je trouve que la solution n'est pas des plus propres : on perd justement tout l'intérêt des layouts qui permettent une abstraction des détails de la plateforme, du look and feel, de la taille de la police, etc...

    Moi ce que je voudrais c'est pouvoir dire au layout de mon 'collectionPanel' : "ajoute les panels 'item' et demande leur à chacun leur preferredSize (qu'il calculent eux même dynamiquement en fonction de cde qu'ils contiennent) et base toi la dessus, ne leur en donne pas plus".

Discussions similaires

  1. [PPT-2007] Check box & Text box (VBA) dans PPT 2007
    Par ghisunit dans le forum VBA PowerPoint
    Réponses: 5
    Dernier message: 29/04/2011, 18h52
  2. [Box] Brancher disque dur sur box (neuf box) bien ou pas ?
    Par lolo_ici_et_la dans le forum Dépannage et Assistance
    Réponses: 2
    Dernier message: 22/10/2010, 09h19
  3. TreeView et List Box ou Box _besoin d'aide
    Par popsmelove dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/01/2008, 16h35
  4. [JScrollPane] vertical uniquement
    Par Nicool dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 14/05/2006, 19h49

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