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

Interfaces Graphiques en Java Discussion :

Alignement des icones placés dans une liste


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 73
    Points
    73
    Par défaut Alignement des icones placés dans une liste
    Ce message fait suite à la discussion suivante : http://www.developpez.net/forums/sho...d.php?t=309506

    Maintenant que j'ai réussi à créer un renderer convenable, je cherche maintenant à aligner les icones sur une (ou plusieurs lignes) et non verticalement (voir fichier joint).

    J'ai pourtant utilisé la commande suivante, mais les icones sont toujours verticaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
    Quelqu'un peut m'aider ??????
    Images attachées Images attachées  

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Ton Horizontal wrap n'eést pas à placer dans ton rendender comme je l'ai vu dans le code de ton POST précédent mais à appliquer une seule fois au niveau de ta JList (à sa création par exemple).
    Sinon tu vas avoir des résultats aléatoires (il va appeler cette méthode à chaque rendu d'objet de ta JList miam miam les Perfs)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 73
    Points
    73
    Par défaut
    J'ai déplacé ma commande vers le programme contenant ma JList, mais le résultat est le meme !!! (a savoir que les icones sont placés verticalement)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // ajout de la liste des icones
                iconsList = new JList(ExplorerTools.getExplorerModel());            // création de la liste
                iconsList.setLayoutOrientation(JList.HORIZONTAL_WRAP);
                JScrollPane listScroller = new JScrollPane(iconsList);              // ajout du ScrollPane
                iconsList.addListSelectionListener(controller);
                iconsList.addMouseListener(controller);                             // actions sur la souris : détection double clic pour ouverture dossier
                iconsList.setCellRenderer(new ExplorerTools.VaultExplorerRenderer());   // on fixe le propre renderer à la liste

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Vérifie la taille du JPanel que ton Renderer renvoie...
    On ne sait jamais qu'il occupe tout l'espace d'une ligne.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 73
    Points
    73
    Par défaut
    Etant donné que j'ai utilisé un BorderLayout, je ne peux pas redimmensionner ce JPanel ...

    Mais je pense que tu vois juste car lorsque je clique sur la meme ligne qu'une icone, cette dernière se sélectionne.

    Je vais essayer de changer mon JPanel en JLabel (on ne sais jamais)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 73
    Points
    73
    Par défaut
    Bon ben avec un JLabel j'obtient exactement la meme chose ...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 73
    Points
    73
    Par défaut
    Solution trouvée. il semblerait que ce soit un bug de JAVA. Il faut ajouter d'autre méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    consList = new JList(ExplorerTools.getExplorerModel());            // création de la liste
                iconsList.setLayoutOrientation(JList.HORIZONTAL_WRAP);              // alignement horizontal
                iconsList.setFixedCellWidth(110);                                   // largeur cellule
                iconsList.setFixedCellHeight(90);                                   // hauteur cellule
                // /!\ BUG JAVA : mettre -1 pour le nombre de ligne a visualiser
                iconsList.setVisibleRowCount(-1);
                JScrollPane listScroller = new JScrollPane(iconsList);              // ajout du ScrollPane

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 02/03/2007, 11h33
  2. Insérer des check buttons dans une list box
    Par cecile900 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 09/01/2007, 12h10
  3. [VBA-E] Affichage captions des chekbox actifs dans une list box
    Par accro-macro dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 17/10/2006, 13h42
  4. Réponses: 13
    Dernier message: 01/08/2006, 16h59
  5. concaténer des élements contigus dans une liste
    Par isachat666 dans le forum Delphi
    Réponses: 3
    Dernier message: 26/05/2006, 09h31

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