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 :

Checkbox dans un JTable


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Comment créer une checkbox dans une JTable : en fait il me faudrais sur toute une colonne des checkbox. Merci d'avance pour votre aide.

    C'est en fait un JCheckBox a ajouter dans un JTable.

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 109
    Par défaut
    Il te suffit de mettre une valeur booleene dans le tableau pour qu'il t'affiche un JChekBox.

  3. #3
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Tu n'aurais pas un petit exemple a tout hazard STP ?

    En fait il me faudrais pouvoir les insérer dans une colonne nommée EXTRAIRE et faire en sorte de pouvoir en selectionner plusieurs. Alors si quelqu'un peut me montrer comment faire ca serais sympas.

  4. #4
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Euh, là, direction tutoriels :
    - How to use JTables (pointé par la javadoc)
    - et notamment l'exemple TableDemo.java (dans le tutoriel)
    "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.

  5. #5
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Ok super merci beaucoup j'ais résolu mon problème... Désolé de vous avoir embété alors qu'il y avais des tutos. Encore merci

    En fait non... Je ne parviens pas a trouver un exemple concrait qui me permetrais de faire apparaitre des checkbox. En ce qui concerne les tutaux je ne parviens pas a les adapter a mon problème. Je ne sais pas ou je vais devoir déclarer mes checkbox. SVP, j'ais besoin d'aide....

  6. #6
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Ce lien pourra t'être utile :

    http://forum.java.sun.com/thread.jsp...sageID=3317188

    Cela te permettra de créer des JCheckbox dans les cellules de ta JTable.

  7. #7
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Il faudrais également que l'intitulé de la colonne soit une checkbox et qu'en la sélectionnant, toutes les lignes soient également elles aussi sélectionnées.

  8. #8
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Alors là je ne sais pas trop.

    Ce que je sais c'est que tu peux modifier l'entête d'une colonne de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((DefaultTableCellRenderer)tableau.getTableHeader().getDefaultRenderer())
    comme pour pas exemple ici centrer toutes les colonnes de ton tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((DefaultTableCellRenderer)tableau.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(SwingConstants.CENTER);
    Tu peux bien sur l'appliquer sur une colonne en précisant l'indice de la colonne par la méthode getColumn(int index).

    Ensuite, y définir une checkbox qui interagissent avec celles du tableau me semble faisable, il faudra juste rajouter un écouteur sur la JCheckbox de l'entête de colonne.

    Voilà en espérant avoir pu t'aider

    ps : tu as toujours les tutos de gestion de JTable et notamment de leur renderer.

  9. #9
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    ben c'est déja bien d'avoir essayé de m'aider... Mais j'ais pas mal de difficulté en Java surtout sur le SWING alors.... je n'arrive meme pas à afficher les CheckBox dans mon tableau et je ne m'en sort pas avec les tutaux. Il ne ressemble pas du tout a ce que j'ais déja fais. Ils déclarent tous des trucs comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    String[] columnNames = {"Date", "String", "Integer", "Boolean"};
    		Object[][] data =
    		{
    			{new Date(), "A", new Integer(1), Boolean.TRUE},
    			{new Date(), "B", new Integer(2), Boolean.FALSE},
    			{new Date(), "C", new Integer(9), Boolean.TRUE},
    			{new Date(), "D", new Integer(4), Boolean.FALSE}
    		};
    Le problème c'est que moi mes colonnes sont alimentés par un base de donnée, et je ne sais pas ou je pourrais rajouter cela.

  10. #10
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Citation Envoyé par Spinoza23
    Il faudrais également que l'intitulé de la colonne soit une checkbox et qu'en la sélectionnant, toutes les lignes soient également elles aussi sélectionnées.
    Alors là, ce n'est pas forcément faisable par défaut (je ne peux rien affirmer). Il me semble que la JTable ne permet pas de fournir d'Editor pour le JTableHeader.

    Essaie de jeter un coup d'oeil sur le projet JXTable ?

    Ou sinon, tu peux cacher le TableHeader et utiliser la première ligne de la JTable à la place. C'est un peu bricolé, mais ça devrait marcher.
    "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.

  11. #11
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Google est là et faut un peu trifouiller dans les tutos même si c'est pas évident.

    En 2 minutes sous Google :

    http://forum.java.sun.com/thread.jspa?threadID=761668

    http://java.sun.com/docs/books/tutor...nts/table.html

    Prends un peu plus de temps pour mieux cerner le fonctionnement de la JTable, quitte à perdre du temps, mieux vaut que se soit au début pour mieux comprendre qu'après au codage

    Enfin, le code que tu me montres créer 4 colonnes avec des noms de colonnes.

    Je pense donc que tu dois t'appliquer à mieux comprendre les JTable avant de les utiliser et là ya pas de miracle, faut lire les tutos

  12. #12
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    le problème c'est que j'ais besoin des autres entetes. J'aurais bien un screen shot a montrer mais je n'arrive pas a poster la photo...

    J'ais déja lu ces tutaux et le problème c'est que ce n'est pas ce que je veu obtenir.

    Voila a quoi ressemble l'intitulé de mes colonnes et de la déclaration de mes tableaux pour l'instant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    public TableWizardControler()
        {
            _form = new DefaultFormModel(this);
            _title = new DefaultFormModel(this);
            Vector coltable = new Vector();
            coltable.add("Tri");
            coltable.add("Table");
            coltable.add("Libellé table");
            coltable.add("Application");
            coltable.add("Libellé application");
            coltable.add("Catégorie");
            coltable.add("helement");
            String sql="select distinct 1, numgttrc, intgttrc, appgttrc, intgtapp, catgttrc, null from gttrc rc, gtapp pp, gttrd rd where pp.numgtapp=rc.appgttrc and rc.numgttrc=rd.trcgttrd ";
     
            try
            {
                _resultmodel = new DataTreeEntity(sql, "Résultat de la recherche");
            }
     
            catch (AlertException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     
            Vector coltable1 = new Vector();        
            coltable1.add("N°");
            coltable1.add("");
            coltable1.add("");
            coltable1.add("");
            coltable1.add("Colonne");
            coltable1.add("Libellé");
            coltable1.add("Type");
            coltable1.add("Taille");
            coltable1.add("Contrainte");
            coltable1.add("Lien");
            coltable1.add("Paramètre");
            String sql1="select upper(numgttrc), intgttrc, intgtapp, colgttrd, intgttrd, type, length, nullable, col_link, par_link from gtdstv where numgttrc = ? ";
     
            try
            {
                _detailmodel = new DataTableEntity(sql1,coltable1);
            }
     
            catch (AlertException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    c'est sur le deuxième tableau que je veux insérer mes CheckBox et en fait il faudrais que je puisse mettre en place une checkbox a la place de l'intitulé "N°".

    Comment je peu faire pour déclarer la colonne de mon tableau comme BOOLEAN ??

  13. #13
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    A y est j'y suis arrivé. J'ais été fortement aidé mais le principal c'est que j'y sois arrivé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		if (getValueAt(0, c) != null)
    			return getValueAt(0, c).getClass();
    		else if (c==0)
            {
                return Boolean.class;
            }
            else
            {
                return super.getColumnClass(c);
            }
    Merci a tous

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

Discussions similaires

  1. Checkbox dans une JTable
    Par Tobear91 dans le forum Composants
    Réponses: 9
    Dernier message: 05/04/2011, 13h16
  2. Réponses: 3
    Dernier message: 25/03/2011, 18h29
  3. mettre un checkbox dans une jtable
    Par christianf dans le forum Composants
    Réponses: 9
    Dernier message: 20/11/2010, 18h52
  4. Checkbox dans un Jtable
    Par gdhugue1 dans le forum JDBC
    Réponses: 2
    Dernier message: 08/03/2007, 13h20
  5. checkbox dans un JTable
    Par hbzied dans le forum Composants
    Réponses: 2
    Dernier message: 17/05/2006, 17h52

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