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 :

CheckListBox, possible ?


Sujet :

Composants Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 16
    Par défaut CheckListBox, possible ?
    Bonjour,

    Est-il possible de faire une JList avec des CheckBox ?

    J'aurais besoin en fait d'une liste d'élément que l'on puisse sélectionner mais aussi cocher : le cochage pour sélectionner plusieurs éléments, la sélection pour n'affiche les propriétés que d'un seul élément.

    Ou alors, si ce n'est pas possible à faire sous forme de list, est-il possible de gérer un scroll de plusieurs checkbox qui seraient mis les uns sous les autres (simulations d'une checklistbox donc) ?

    Merci d'avance

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Tu peux faire une JList de CheckBox en changeant le cell renderer (voir methode JList.setCellRenderer()).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 16
    Par défaut
    Tu peux m'en dire un peu plus stp, j'ai commencé le Java il y a peu, et je ne connais pas encore les détails de quelques objets standard.

    Si j'ai bien compris, on peut définir librement l'aspect de la cellule de la liste en utilisant cette fonction, mais comment y mettre un checkbox ?

    Merci pour ta réponse.

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 902
    Billets dans le blog
    54
    Par défaut
    La JList utilise un renderer (objet auquel le rendu est délégué) pour faire l'affichage de ses élements. C'est une sorte de composant graphique qui fonctionne comme un tampon (au sens tamponner + encre) qui est réutilisé pour faire le dessin de chacun des élement de la liste. En fournissant ton propre tampon (via setCellRenderer()) tu peux facilement avoir des listes avec des pésentations plus jolies et fournies que celle de base ; idem quand il s'agit de représenter des types d'objets que la JList ne connait pas/ne prend pas en charge de base. Cette technique est aussi utilisé dans le JTree, la JComboBox, ... et la JTable (qui elle peut avoir plusieurs renderers).

    De même la JList utilise un editor pour savoir comment modifier la valeur quand elle est en mode éditable. Tu auras également plus d'info en lisant le header de la doc de la classe JList et en regardant sa page associée dans le Java Tutorial de Sun.

    Tois choix se présentent à toi :

    - utiliser une JCheckBox qui etend l'interface ListCellRenderer

    - utiliser un DefaultListCellRenderer (en fait c'est tout simplement un JLabel) qui délègue ses méthode de rendu (paintComponent()) à une JCheckBox.

    - fouiller sur le net, qqun a déjà fait la même chose et je suis sur d'avoir déjà vu plusieurs didacticiels te montrant comment faire.

    Bien évidement si ta liste doit être éditable (et donc tes check clickables) il te faudra aussi fournir un editor approprié. Une fois cette/ces classe(s) créée(s) tu pourra la/les réutiliser dans tous les composants Swing utilisant des ListCellRenderer.
    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

Discussions similaires

  1. Est-ce possible, mutlicolonne dans un checklistbox?
    Par Subkill dans le forum VB.NET
    Réponses: 2
    Dernier message: 21/12/2007, 17h09
  2. CheckListBox, possible ?
    Par DarK Sidious dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 26/11/2005, 23h29
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. [CR] Est il possible de créer des univers avec Seagate Info?
    Par Frank dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2002, 15h22
  5. MDI sans MFC, possible ?
    Par delire8 dans le forum MFC
    Réponses: 4
    Dernier message: 17/06/2002, 07h38

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