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] afficher des Chekbox pour des valeurs booléennes


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut [JTable] afficher des Chekbox pour des valeurs booléennes
    Bonjour,

    J'ai fait un tableau avec une colonne qui contient des valeurs boolean pour qu'il affiche des checkbox, Je voudrais savoir s'il était possible de ne pas afficher de checkbox sur toutes les lignes.
    Certaines de mes lignes sont des lignes de totaux donc je ne veux pas que sur ces lignes la il y ait un checkbox. J'ai essayé la valeur null, mais il m'affiche comme même un checkbox.

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    il faut chercher du cote : CellRenderer.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2007
    Messages : 37
    Par défaut
    Si vous pouver nous donner + de details (un peut du code si possible)

  4. #4
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Du code du code!!!!!
    Je pense pas que ca puisse aider!!!

    Je reformule mon problème.

    J'ai une table, dans ma table j'ai une colonne dans laquelle je mets des valeurs booléenne donc avec la méthode "Class getColumnClass(int col)" il me met des cases à cocher pour toutes les valeurs booléenne, pour l'instant rien d'exceptionnel. (Si vous n'êtes pas au courant aller jeter un coup d'oeil sur la doc java).

    Ce que je voudrais c'est que sur certaines lignes je puisse ne pas afficher ces checkbox parce que j'ai fait des lignes intermédiaires pour des totaux.

    Donc ma question est comment je peux faire pour que certaines lignes aient le checkbox mais pas d'autres.

    Ma question n'est pas comment mettre des checkbox je sais déjà faire.

    J'ai déjà essayer avec le setValueAt si la ligne et une ligne de total ne rien afficher... mais ca ne change rien.

    [EDIT]Quand tu dis
    Citation Envoyé par eclesia
    il faut chercher du cote : CellRenderer.
    j'espère que tu ne me suggère pas de réécritre un cellrenderer qui affiche une case à cocher vide si la valeur est false une case à coché pleine si c'est true et rien si null????
    [/EDIT]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2007
    Messages : 37
    Par défaut
    Je vois deux solutions(peut etre)
    1)creer une class extends JTable et redifiner la methode getColumnClass et utilise ta class au lieu de JTable.
    2)ou bien tu n'ajoute pas ta table directement dans l'affichage mais lis les données de ta tables pour les afficher par une autre methode

    j'hespère que ça va marcher

  6. #6
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Par défaut
    Citation Envoyé par bilal_inf
    Je vois deux solutions(peut etre)
    1)creer une class extends JTable et redifiner la methode getColumnClass et utilise ta class au lieu de JTable.
    Ce n'est pas JTable qui faut etendre, mais DefaultTableModel !
    Par contre getColumnClass ne prennant en parametre que l'index de la column, il n'est pas possible d'intervenir sur une ligne distinct de la colonne

    Citation Envoyé par bilal_inf
    2)ou bien tu n'ajoute pas ta table directement dans l'affichage mais lis les données de ta tables pour les afficher par une autre methode

    j'hespère que ça va marcher
    C'est pas une solution ca

    En redéfinissant getTableCellRendererComponent de la class DefaultTableCellRendered, tu vas pouvoir, suivant la condition que tu veux appliquer sur ta ligne, soit appeler la méthode standard et récupérer une checkbox, soit retourner un label vide (ou le composant par defaut, je ne sais pas ce que c'est)

    n!co

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

Discussions similaires

  1. Compléter des lignes pour des valeurs inexistantes
    Par patgabjoe dans le forum SQL
    Réponses: 5
    Dernier message: 20/11/2012, 09h06
  2. Des problèmes pour ajouter valeur dans une ArrayList
    Par Fused dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 07/11/2008, 16h28
  3. [JTable] afficher et interragir avec des URLs
    Par jean_bobi dans le forum Composants
    Réponses: 1
    Dernier message: 28/09/2006, 10h35
  4. Valeur pour des checkbox et des boutons radio pour MySQL
    Par mounirha dans le forum Administration
    Réponses: 1
    Dernier message: 18/04/2006, 23h54
  5. [CR] Générer des espaces pour une valeur champ
    Par newpress dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/02/2005, 17h43

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