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 :

[JTable] Checkbox dans le header


Sujet :

Composants Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 50
    Points : 40
    Points
    40
    Par défaut [JTable] Checkbox dans le header
    Bonjour à tous, une nouvelle question qui trouvera, je l'espère, sa réponse.

    Ma question du jour concerne l'utilisation des checkboxes dans les Headers d'une JTable.
    En fait, ce que je voudrais faire, c'est une JTable dans laquelle la première colonne ne contient que des checkboxes. Le header de cette colonne serait également une checkbox qui, si on la coche, sélectionne toutes les checkboxes de la colonne, et si on la désélectionne, déselectionne tout.
    Rien de bien méchant, me direz-vous. Sur le fonctionnement, c'est ok.

    Ce qui me gène c'est plutôt le rendu : j'aimerais mettre le look&feel de l'OS à ma JTable (UIManager.getSystemLookAndFeel()), seulement le header contenant la checkbox perd son Look...

    Si quelqu'un a déjà eu le problème (et je pense qu'il y en a), merci de me donner un coup de pouce.

    Si besoin, je pourrai fournir un bout de code pour reproduire mon souci.

    Merci de votre aide

  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 : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    En l'occurence, le problème vient du fait que tu remplaces le Renderer du TableHeader. Or le TableHeader installé à ce moment là est celui du L&F XP. Donc en remplaçant le renderer en place tu enlèves tout simplement celui qui est destiné à donner l'apprence système à ton header de colonne.

    Une option viable dansle cas présent est de passer par de la délégation. Pour en voir un exemple je te conseille de récupérer les sources de Swingx et d'étudier la classe ColumnHeaderRenderer qui se trouve dans le package org.jdesktop.swingx.table.
    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 du Club
    Inscrit en
    Janvier 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 50
    Points : 40
    Points
    40
    Par défaut
    Merci pour ta réponse .
    J'étudie la question et je reviens vers toi en cas.

Discussions similaires

  1. [Débutant] CheckBox dans un header de groupe de DataGrid
    Par Jamming Ed dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 08/08/2012, 14h10
  2. GridView et checkBox dans le header
    Par nico_4802 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/01/2010, 16h02
  3. Comment créer un GroupBox contenant une CheckBox dans le Header ?
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 15
    Dernier message: 17/04/2009, 17h43
  4. checkbox dans le header !?
    Par christopheEU dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/06/2008, 12h10
  5. [2.0] Mettre une Checkbox dans le header d'une colonne d'une DatagridView
    Par aurelien.tournier dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/01/2007, 10h27

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