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 :

[Swing] Liste personnalisée


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Philippines

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 244
    Points : 609
    Points
    609
    Par défaut [Swing] Liste personnalisée
    Bonjour à tous,

    Je souhaite implementer une liste dont chaque elements serait un JCheckBox. J'arrive visuellement à avoir ces composants, cependant je n'arrive pas a y lier un evenement: je ne peu pas cliquer sur la coche pour l'activer/desactiver...

    Pour effectuer le rendu de mes JCheckBox, j'utilise une classe qui implemente ListCellRenderer.

    Merci d'avance pour votre aide,

    anyKeyh

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    En standard tu ne peux pas car les JList ne sont pas éditable...

    Toutefois, tu peux jeter un coup d'oeil à ce blog en anglais qui donne le code d'ne JList editable de la même manière qu'une JTable : http://www.jroller.com/page/santhosh...able_no_jtable

    Il ne te restera plus qu'à utiliser un CellEditor pour l'édition de tes éléments...

    a++

  3. #3
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    L'avantage d'une JList est surtout de pouvoir sélectionner un ou plusieurs éléments et de proposer des Listeners pour la sélection.
    Si tu cherches juste à faire une colonne de CheckBox, un JPanel muni d'un GridLayout (ou un autre layout judicieusement choisi) sera plus approprié.

    La JList éditable sera appropriée si tu veux à la fois :
    - sélectionner un ou plusieurs éléments, et écouter ces changements
    - modifier des variables dans ces éléments (par une JCheckBox, par exemple).

    A toi de voir selon l'usage que tu veux en faire.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Philippines

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 244
    Points : 609
    Points
    609
    Par défaut
    Ok je vais prendre la methode du gridLayout, j'y avait pensé, mais je trouvé cela un tout petit peu lourd.
    En fait la selection multiple ne me sert pas ici.
    Merci pour vos reponses clairs et rapides

    Une derniere question juste par curiosité: Pourquoi les listes ne sont-elles pas mutables? (je ne vois que des desavantages personnelement)

  5. #5
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Citation Envoyé par anykeyh
    Une derniere question juste par curiosité: Pourquoi les listes ne sont-elles pas mutables? (je ne vois que des desavantages personnelement)
    des listes pas mutables ? Tu peux très bien ajouter ou enlever des objets à une JList, mais ça dépend de ton ListModel (le DefaultListModel le permet) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ListModel model = new DefaultListModel();
    JList list = new JList(model);
     
    // ajout d'éléments
    model.addElement("Objet 1");
    model.add(0, "Objet 2");
     
    // retrait d'éléments
    model.remove(0);
    model.removeElement("Objet 1");
    model.removeAll();
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Je crois que la question doit être lue ainsi : "Pourquoi les listes ne sont-elles pas éditables ?"

    C’est une bonne question que je me pose parfois (surtout quand j’ai travaille trop longtemps sur des tables et des arbres et que je reviens sur des listes). Cependant il est vrai, à l’usage, qu’un panel avec un GridLayout (ou un BoxLayout) contenu dans un JScrollPane et des listeners appropriés sur chacun éléments cliquables est en fait bien plus simple à mettre en place (faire son propre composant container pour éviter de tout recoder à chaque fois) qu’associer un mécanisme de CellEditor à la liste.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. [AWT][SWING][Graphic] Personnaliser Le graphisme
    Par parasol007 dans le forum 2D
    Réponses: 2
    Dernier message: 15/05/2007, 17h47
  2. Problème de mise en forme dans une liste personnalisée
    Par smarties dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 17/01/2007, 15h47
  3. [Swing][JTableHeader]Personnaliser le header d'un tableau
    Par LordBlaize dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 16/02/2006, 16h56
  4. [Swing] liste des composants d'un container
    Par SheikYerbouti dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/02/2006, 12h50
  5. [SWING][JMenu] Personnaliser un jMenu
    Par serwol dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 06/01/2006, 14h32

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