Bonjour.

J'ai un problème au niveau d'une boucle for dans une de mes class.
Dans cette classe j'exécute, lors d'un clique sur un bouton, la méthode suivante :
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
 
    public void installerAll(){
        Variable.out.println("100");   
        String sup="";
        Variable.out.println("101"); 
        String comp=null;
        Variable.out.println("102"); 
        for(Enumeration<Poste> et=retouracceuil.postes_selectionnes.elements();et.hasMoreElements();){
            if(comp==null){
                comp=et.nextElement().getGroupe().getNom();
            }else if(!comp.equals(et.nextElement().getGroupe().getNom())){
                sup="ATTENTION il y a plus d'un groupes différents.\n";
                break;
            }
        }
        Variable.out.println("103"); 
        int choix = JOptionPane.showConfirmDialog(null,sup+"Êtes vous sûr d'installer les tps sur tout les PC ?", "Confirmation",
                JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);   /**Affichage de la fenêtre de dialogue demandant la confirmation d'installation **/
        Variable.out.println("104"); 
        if (choix == JOptionPane.YES_OPTION)         /**Gestion de l'ajout et de la suppression des groupes en graphique et dans le fichier txt**/
        {
            Variable.out.println("105"); 
            Object[] options = { Variable.etatName[Variable.OPERATIONEL], Variable.etatName[Variable.TEMP] };
            Variable.out.println("106"); 
            setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
            Variable.out.println("107"); 
            MyTableModel md=(MyTableModel)table.getModel();
            Variable.out.println("108"); 
            for(int i=0;i<md.getRowCount();i++){
 
                if((md.getValueAt(i,md.getColumnCount()-1)).equals(true)){
                    Variable.out.println("111"); 
                    TpsRef ref = Variable.baseTps.get((String)md.getValueAt(i,1));
                    Variable.out.println("112"); 
                    if(ref!=null){
 
                        if(ref.getEtat()==Variable.NEW){
                            Object choix2 = JOptionPane.showInputDialog(null,"Choix pour le tps : "+ref.getNameTps(),"Warning",
                                    JOptionPane.INFORMATION_MESSAGE,null,options,options[0]);
                            if(choix2!=null){
                                Variable.out.println("113"); 
                                int oldEtat=ref.getEtat();
                                Variable.out.println("114"); 
                                int newEtat=Variable.nameEtat(choix2.toString());
                                Variable.out.println("115"); 
                                String subTps=ref.getNameTps().replaceFirst("^[\\d]+-","");
                                Variable.out.println("116");                              
                                String sourceZip=Variable.subRep(subTps,ref.getInstallDir());
                                Variable.out.println("117"); 
                                String destZip=Variable.modifInstall(sourceZip,oldEtat,newEtat);
                                Variable.out.println("118"); 
                                if(destZip==null){
                                    Variable.err.println("Modification impossible car pas de dossier de référence pour "+Variable.etatName[newEtat]);
//                                setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
                                    continue;
                                }else if(destZip.equals("")){
                                    Variable.err.println("Modification impossible car le fichier d'install n'est pas dans un dossier de référence pour "+Variable.etatName[oldEtat]);
                                    continue;
                                }
                                Variable.out.println(sourceZip+" -> "+destZip);
                                if(!new File(destZip.toUpperCase().replaceAll("\\\\\\w*.ZIP","\\\\")).exists()){
                                    if(!new File(destZip.replaceAll("[^\\\\]+\\\\$","")).exists()){
                                        if(!new File(destZip.replaceAll("[^\\\\]+\\\\$","")).mkdirs()){
                                            Variable.err.println("Erreur de création de répertoire : "+destZip);
//                                        setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
                                            continue;
                                        }
                                    }
 
                                }
                                Variable.out.println("119"); 
                                if(new File(sourceZip).renameTo(new File(destZip))){
                                    Variable.out.println("120"); 
                                    ref.setInstallDir(Variable.modifInstall(ref.getInstallDir(),oldEtat,newEtat));
                                    Variable.out.println("121"); 
                                    ref.setEtat(newEtat);
                                    Variable.out.println("122"); 
                                    md.setValueAt(Variable.etatName[newEtat],i,md.getColumnCount()-3);
                                    Variable.out.println("123"); 
//                                    this.installRef.setText(ref.getInstallDir());
                                    String s=Variable.deleteRec(sourceZip.replaceAll("[^\\\\]+\\\\$",""),sourceZip);
                                    Variable.out.println("124"); 
                                    s = s!=null ? s : sourceZip;
                                    Variable.out.println("125"); 
                                    Variable.out.println("Fichier/Dossier supprimé : "+s);
                                    Variable.out.println("Fichier déplacé : "+sourceZip+" -> "+destZip);
                                    Variable.saveRef();
                                }else{
                                    Variable.err.println("Erreur pour déplacer le fichier : "+sourceZip+" -> "+destZip);
//                                    setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
                                    continue;
                                }
                            }else{
                                Variable.err.println("Pas de choix pour le tps "+ref.getNameTps());
                                setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
                                continue;
                            }
 
                        }
 
                        Variable.out.println("Install auto de ["+ref.getNameTps()+"]");
                        for(int k=3;k<md.getColumnCount()-4;k++){
                            Variable.out.println("126"); 
                            Object []temp = ((Cell)md.getValueAt(i,k)).o;
                            Variable.out.println("127"); 
                            String name = (String)temp[0];
                            Variable.out.println("128"); 
                            Poste p = (Poste)temp[1];
                            Variable.out.println("129"); 
                            Vector<TpsPoste> t=(Vector<TpsPoste>)temp[2];
                            Variable.out.println("130"); 
                            if(t==null){
 
                                p.installTps(name);
 
                            }else{
                                if(!p.isTpsRef(name)){
                                    Variable.out.println(md.getColumnName(k)+" to REF : "+(String)md.getValueAt(i,1));
                                    p.addRef(name);
 
                                }
                            }
                        }
                    }else{
                        Variable.err.println("Impossible d'installer un programme qui n'est pas une ref : ["+(String)md.getValueAt(i,1)+"]");
                    }
                    md.setValueAt(false,i,md.getColumnCount()-1);
                }
            }
            md.fireTableDataChanged();
            setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
        }
 
    }
et tout marche parfaitement. Maintenant je veux exécuter de la même manière cette fonction en l'appelant d'une autre class par le biais d'un clique sur un sous-item ("installer").
Donc je fais tout ce qu'il faut pour. Je crée une instance de la première class ou se trouve la fonction, je renseigne le constructeur de la seconde class avec le nouvel attribut.
Mon programme d'appel est le suivant :
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
 
 public class GestionInstaller implements ActionListener
    {    
       /**
        * Methode de recherche
        * @param ev ActionEvent
        */ 
        public void actionPerformed(ActionEvent ev) 
            {
               Variable.out.println("4");
               Page3 inst= new Page3(retouracceuil);
               Variable.out.println("4");
               inst.installerAll();
               Variable.out.println("Le bouron 'Installer' a été cliqué");
            }
    }
Mais voilà lorsque je clique sur le sous-item pour lancer la fonction, le programme se lance correctement (il fait le lien entre les deux class) mais s'arrête au niveau de la boucle for :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
for(int i=0;i<md.getRowCount();i++){
et il ne veut pas franchir cette ligne et je ne vois pas pk. Pourtant, il ne me semble pas que cette fonction dépende d'autre fonctions présentent dans la même class. Si quelqu'un avait une idée sur le problème..

Merci d'avance.