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 + boolean


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 44
    Par défaut JTable + boolean
    bonjour,
    j'ai creer une JTable les colonnes :
    -Identifiant(Integer)
    -Description(String)
    -SelectioneOuPas(Boolean)
    tout ce que je sais afficher pour SelectioneOuPas c'est true ou false
    mais je veux avoir un "CheckBox" qui soit coché si le champ est selectionne
    Some body help me

  2. #2
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 46
    Par défaut
    pas du tout sûr (je trime aussi sur les Jtable) mais je viens de trouver ça sur la doc :

    You usually don't have to explicitly specify a check box as an editor, since columns with Boolean data automatically use a check box renderer and editor.
    Donc vérifie que t'a bien des Boolean (avec la majuscule) et pas des boolean.

    Sinon pour spécifier explicitement l'éditeur (en l'ocurrence une checkbox), j'ai trouvé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        // Explicitly set the Boolean cell renderer and editor on the
        // TableColumn showing the first column in the table model
        int mColIndex = 0;
        findTableColumn(table, mColIndex).setCellRenderer(table.getDefaultRenderer(Boolean.class));
        findTableColumn(table, mColIndex).setCellEditor(table.getDefaultEditor(Boolean.class));
    (pas testé par contre, j'espère que ça peut t'aider)

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 44
    Par défaut
    Merci
    mais c est quoi "findTableColumn"

  4. #4
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 46
    Par défaut
    ah oui il manque un bout de code dans l'exemple ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // Returns the TableColumn associated with the specified column
        // index in the model
        public TableColumn findTableColumn(JTable table, int columnModelIndex) {
            Enumeration enum = table.getColumnModel().getColumns();
            for (; enum.hasMoreElements(); ) {
                TableColumn col = (TableColumn)enum.nextElement();
                if (col.getModelIndex() == columnModelIndex) {
                    return col;
                }
            }
            return null;
        }
    Le mini-tuto où j'ai trouvé ça est là : http://javaalmanac.com/egs/javax.swi...DefRender.html

  5. #5
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    je confirme, si tu passes par un model (DefaultTableModel) tu as simplement a mettre un Boolean dans une des colonnes et le renderer selectionné sera par defaut celui avec les checkbox ...

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 44
    Par défaut
    Le mini-tuto où j'ai trouvé ça est là : http://javaalmanac.com/egs/javax.swi...DefRender.html
    oui j'ai bien compris ca mais la varaible "TableColumn" m a tout ruine

    Bref voila mon code si vous pouvez l'ameliorer
    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
     
     
    import java.awt.*;
    import javax.swing.*;
     
    public class BoolCheck extends JPanel {
      public BoolCheck(){
        String[] NomsColonnes = {"Nom",
                "Prenom",
                "EstSelectione"};
     
        Object[][] Donnes= {
                    {"Mary", "Campione", new Boolean(false)},
                   {"Allal","Monier",new Boolean(true)}
                };
     
        JTable table=new JTable(Donnes,NomsColonnes);
        JScrollPane sc=new JScrollPane(table);
        add(sc,BorderLayout.CENTER);
      }
     
      public static void main(String args[]){
        JFrame f=new JFrame();
        BoolCheck bc=new BoolCheck();
        f.getContentPane().add(bc,BorderLayout.CENTER);
        f.setSize(500,400);
        f.show();
      }
    }
    Merci d'avance

Discussions similaires

  1. case à cocher pour valeur boolean dans un jtable
    Par robert_trudel dans le forum Composants
    Réponses: 2
    Dernier message: 08/11/2009, 22h16
  2. évenement Boolean JTable
    Par garciajulien dans le forum Composants
    Réponses: 0
    Dernier message: 13/04/2009, 15h14
  3. récupéré un boolean dans une Jtable
    Par Wensomtama dans le forum Composants
    Réponses: 2
    Dernier message: 17/06/2008, 23h15
  4. [JTable]AbstractCellEditor et Boolean
    Par biozaxx dans le forum Composants
    Réponses: 8
    Dernier message: 07/09/2006, 10h51
  5. [Jtable] DefaultTableModel renderer des boolean
    Par lilou77 dans le forum Composants
    Réponses: 2
    Dernier message: 20/12/2005, 15h32

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