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 :

bouton SelectAll/DismissAll avec des CheckBox


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Par défaut bouton SelectAll/DismissAll avec des CheckBox
    Bonjour,

    j'ai une page qui m'affiche un tableau dans lequel il y a des checkbox dans la deuxième colonne.
    J'aimerai créer des boutons selectall et dismissAll qui me sélectionnerai tout mes checkbox mais je suis débutant en java....
    Quelqu'un a une idée ?

    voila ma class launch dans laquelle est définie mon tableau jTable1 et les checkbox se mettent dans la colonne Selection:

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
     public void launch(int launchType,Object parameters) {
            if(launchType == 0) {
                this.jButton2.setEnabled(false);
                ArrayList<String> list = (ArrayList<String>)Controller.getInstance().getGlobalVariable("ListConnectedObjectA");
     
                if(list.size() > 0) {
                    this.currentEquipment = list.get(0);
                } else {
                    this.currentEquipment = "";
                }
                EquipmentListModel elm = new EquipmentListModel(list);
                this.jList1.setModel(elm);
                this.listListenner = new ListListenner("list",this,this.jList1);
                this.jList1.addListSelectionListener(this.listListenner);
                this.jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                this.LoadXmls();
     
                ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>();
                String [] column = new String[]{"Xml Name","Select","Status","View report"};
                jTable1.setModel(new Result1Model(data, column));
     
                this.mod = 0;
     
                TableColumnModel myColumnModel = this.jTable1.getColumnModel();
                TableColumn Column = myColumnModel.getColumn(1);
                this.checkBox = new JCheckBox();
                //this.chec
                Column.setCellRenderer(new CheckBoxRender(this.checkBox));
                Column = myColumnModel.getColumn(0);
                Column.setCellRenderer(new FileRender());
                Column = myColumnModel.getColumn(3);
                Column.setCellRenderer(new ButtonRender("ViewReport","View Report"));
                // Select Column 2 & appliquer un success renderer
                Column = myColumnModel.getColumn(2);
                Column.setCellRenderer(new SuccessRender());
                this.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                this.jTable1.setAutoscrolls(false);
                this.jTable1.setShowGrid(false);
                this.jTable1.setDragEnabled(false);
     
                this.tableListenner = new TableListenner("Row",this,this,this.jTable1);
                this.tableListenner.set(jButton2);
     
                //this.jTable1.getSelectionModel().addListSelectionListener(this.tableListenner);
                this.jTable1.addMouseListener(this.tableListenner);
                Result1Model rm = (Result1Model)this.jTable1.getModel();
                ArrayList<Object> row;
                int i = 0;
                File f;
                for(String xml : this.XmlList.get(this.currentEquipment).keySet()) {
     
                    row = new  ArrayList<Object>();
                    row.add(xml);
                    row.add("NOK");
                    row.add("");
                    row.add("");
                    rm.insertLine(i,row);
                    i++;
                }
     
                this.jLabel3.setText("Select the xml files of the equipment " + this.currentEquipment);
            } else {
                if(launchType == 1) {
     
                } else {
                    if(launchType == 3) {
                        this.jList1.addListSelectionListener(this.listListenner);
                        this.jTable1.addMouseListener(this.tableListenner);
                        ArrayList<String> list = (ArrayList<String>)Controller.getInstance().getGlobalVariable("ListConnectedObjectA");
                        if(list.size() > 0) {
                            this.currentEquipment = list.get(0);
                        } else {
                            this.currentEquipment = "";
                        }
                        EquipmentListModel elm = new EquipmentListModel(list);
                        this.jList1.setModel(elm);
                        this.mod = 3;
                        HashMap<String,HashMap<String,Boolean>> res = (HashMap<String,HashMap<String,Boolean>>)Controller.getInstance().getGlobalVariable("ListloadedXml");
     
                        for(String equi : res.keySet()) {
                            for(String xml : res.get(equi).keySet()) {
                                if(this.XmlListSelected.get(equi).get(xml)) {
                                    this.XmlList.get(equi).put(xml,res.get(equi).get(xml));
                                }
                            }
                        }
                        this.changeEquipment(this.currentEquipment);
     
                        // We indicate that it's the End of XML Loading
                        endOfXmlLoad = "OK";
                        Controller.getInstance().setGlobalVariable("endofXmlLoad", endOfXmlLoad);
                        // We test if we can enable auditButton (See More detail in this function)
                        boolean  enAuditButton = this.enableAuditButton();
                        // this.jTable1.getSelectionModel().addListSelectionListener(this.tableListenner);
                        if( enAuditButton==true && ((GlobalTreatment)Controller.getInstance().getProcess()).getNumTreatment() > 0) {
                            this.jButton2.setEnabled(true);
                        } else {
                            this.jButton2.setEnabled(false);
                        }
     
                    }
                }
            }
     
        }
    merci du coup de main,
    Baptiste

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Pour un débutant, tu y vas fort . JTables + Xml...

    Tout d'abord JTable="Je fais bien gaffe à créer des objets dans des fichiers différents pour comprendre quelquechose".

    Sinon tu crée un objet gérant un Vector qui contient l'ensemble des CheckBox. En cliquant sur un bouton, tu lance un focntion de cet objet qui selectionnera chacun des checkbox. Rien de complqiué à cela.

    Pour les JTables, c'est par ici : http://nicolas-zozol.developpez.com/...l/java/jtable/

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Par défaut
    Salut,

    j'ai créer un bouton SelectAll de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    jButton4 = new javax.swing.JButton();
    jButton4.setText("Select All");
            jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseReleased(java.awt.event.MouseEvent evt) {
                    jButton4MouseReleased(evt);
                }
    et j'ai associé une action au clic de mon bouton de cette manière :

    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
     
     private void jButton4MouseReleased(java.awt.event.MouseEvent evt) {                                       
            TableColumnModel myColumnModel = this.jTable1.getColumnModel();
            TableColumn ColumnCheckBox = myColumnModel.getColumn(1);   
     
            Vector listCheckBox= new Vector();
            listCheckBox = ColumnCheckBox.getCellRenderer();
     
    //je ne sait pas trop comment implémenter ma liste..  :oops:
     
            while(listCheckBox != null)
            {
                this.checkBox.setEnabled(true);
            }
        }
    est-ce que ça vous semble ok? merci.

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    On dirait que tu travailles sans IDE, au papier/crayon.

    Il me semble que tu sois assez loin du compte, et notamment que tu sautes des étapes (l'utilisation des JTables est quand même pas simple).

    Malheureusement l'utilisation du forum ne pourra pas résoudre l'ensemble de tes problèmes.

    Je les notes ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    myColumnModel.getColumn(1); //Il faut résupérer le Component, pas la column
    listCheckBox = ColumnCheckBox.getCellRenderer();
    // C'est plutot public Component getTableCellRendererComponent(JTable table, Object value,
                    boolean isSelected, boolean hasFocus, int rowIndex, int vColIndex)
    
    while(listCheckBox != null) // Ca ne sera jamais null. 
    // Il faut faire une boucle selon le nombre de lignes dnas la JTable
    
    
    this.checkBox.setEnabled(true); // De mémoire, c'est  this.checkBox.setSelected(true);
    C'est rude, mais t'inquiète pas, on est tous passé par là. C'est cette difficulté initiale qui rend jouissif la programmation quand on maitrise ce qu'on fait, et que ca avance à vue d'oeil.

Discussions similaires

  1. [MySQL] Probleme d'affichage avec des checkbox
    Par napz dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 08/11/2006, 14h43
  2. FileListBox avec des checkbox..
    Par tazthedev dans le forum Delphi
    Réponses: 1
    Dernier message: 09/10/2006, 16h34
  3. Réponses: 1
    Dernier message: 26/06/2006, 11h33
  4. [Tableaux] Problème de foreach avec des checkboxes
    Par nanor21 dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2006, 01h04
  5. Problème simple avec des checkbox
    Par nanor21 dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2006, 00h26

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