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 :

jList qui prend la taille qu'elle veut


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Par défaut jList qui prend la taille qu'elle veut
    Bonjour,
    je suis ennuyée avec deux jList qui font un peu ce qu'elles veulent.
    J'ai en fait 2 jlist étirables en X et en Y, séparées par une bande de la largeur fixe.
    Jusque là tout va bien sauf qu'en fonction du contenu des listes, leur largeur varie du coup mon écran ressemble à un ressort

    La seule chose que je souhaite, c'est que mes deux listes aient la meme largeur, alors voilà un bout de mon code, si quelqu'un voit une astuce, on ne sait jamais

    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
     
    //création éléments
    jListMCAE = new JList(lstMCAE);
    jListMCAD = new JList(lstMCAD);
    jScrollMCAE = new JScrollPane();
    jScrollMCAD = new JScrollPane();
    jScrollMCAE.getViewport().add(jListMCAE);
    jScrollMCAD.getViewport().add(jListMCAD);
    jBAddAboMsg = new JButton();
    jBSuppAbo = new JButton();
    //positionnement
        jPanelMCG.add(jLabelMCAD, BorderLayout.NORTH);
        jPanelMCG.add(jScrollMCAD, BorderLayout.CENTER);
        jPanelMCD.add(jLabelMCAE, BorderLayout.NORTH);
        jPanelMCD.add(jScrollMCAE, BorderLayout.CENTER);
        jPanelMCC.setPreferredSize(new Dimension(120, 12));
        jPanelMCC.setMinimumSize(new Dimension(120, 12));
        jPanelMCC.setLayout(new GridBagLayout());
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = GridBagConstraints.RELATIVE;
        gbc.gridx = 0;
        jPanelMCC.add(jBAddAboMsg, gbc);
        jPanelMCC.add(new JLabel("\n"), gbc);
        jPanelMCC.add(new JLabel("\n"), gbc);
        jPanelMCC.add(jBSuppAbo, gbc);
        gbc = new GridBagConstraints();
        gbc.gridx = GridBagConstraints.RELATIVE; //incremente la colonne tout seul
        gbc.gridy = GridBagConstraints.REMAINDER; //tjs sur la meme ligne
        gbc.weighty = 1.0; //100% du y
        gbc.weightx = 0.5; // 50% du x
        gbc.fill = GridBagConstraints.BOTH; //etirable en x et en y
        jPanelMCCentre.add(jPanelMCG, gbc);
        gbc.weightx = 0.0; //taille fixe
        gbc.fill = GridBagConstraints.VERTICAL; //etirable en y
        jPanelMCCentre.add(jPanelMCC, gbc);
        gbc.weightx = 0.5;
        gbc.fill = GridBagConstraints.BOTH;
        jPanelMCCentre.add(jPanelMCD, gbc);
    Merci

  2. #2
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    as-tu essayé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        jListMCAE.setFixedCellWidth(100);
        jListMCAD.setFixedCellWidth(100);
    ?

  3. #3
    Membre confirmé Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Par défaut
    Effectivement je n'avais pas essayé.
    Ca fonctionne seulement maintenant, je me retrouve avec une liste plus grande que l'autre
    vu que j'ajoute la 1ere liste en lui disant de prendre 50% de la largeur, puis j'ajoute le panneau fixe et ensuite la 2eme liste. Du coup, la seconde liste et le panneau fixe partage les 50% restant....
    Bon je vais me pencher sur le problème, merci pour ton aide

  4. #4
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    en fait, contrairement à la table, une JList ne possède pas de méthode :

    setPreferredScrollableViewportSize(Dimension)

    Je te conseille de regarder le code de la classe JList pour la méthode getPreferredScrollableViewportSize() ca te permettra de comprendre un peu mieux comment la taille de ton scroll est décidée.

  5. #5
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    combine avec ceci peut-être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
        jListMCAE.setVisibleRowCount(5);
        jListMCAD.setVisibleRowCount(5);
     
        jListMCAE.setFixedCellWidth(100);
        jListMCAD.setFixedCellWidth(100);
     
        jListMCAE.setFixedCellHeight(15);
        jListMCAD.setFixedCellHeight(15);

  6. #6
    Membre confirmé Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Par défaut
    Nan la ça ne fonctionne pas non plus, à mon avis le problème vient du fait que j'utilise un GridBagLayout, que j'utilise mal à mon avis

    Citation Envoyé par xixi31
    combine avec ceci peut-être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
        jListMCAE.setVisibleRowCount(5);
        jListMCAD.setVisibleRowCount(5);
     
        jListMCAE.setFixedCellWidth(100);
        jListMCAD.setFixedCellWidth(100);
     
        jListMCAE.setFixedCellHeight(15);
        jListMCAD.setFixedCellHeight(15);

  7. #7
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    tu connais jgoodies?
    ca doit pas venir du layout vu que j'utilise le GridBagLayout également....
    qu'as-tu comme problème?

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

Discussions similaires

  1. [Débutant] TextBox qui prend la taille de son conteneur
    Par Joel Pinto Ribeiro dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 23/10/2012, 14h08
  2. Un INPUT TEXT qui prend la taille d'un TD
    Par aelmalki dans le forum Balisage (X)HTML et validation W3C
    Réponses: 16
    Dernier message: 05/06/2010, 08h39
  3. PyGTK fenetre qui prend la taille de l'écran
    Par turboiii dans le forum GTK+ avec Python
    Réponses: 7
    Dernier message: 26/03/2009, 09h40
  4. Réponses: 1
    Dernier message: 14/06/2007, 10h04
  5. Un layer qui prend la taille de l'écran
    Par KibitO dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/01/2006, 16h09

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