bonjour a tous , je viens car j'ai un chtit probleme. Voila j'ai réalisé un tableau dynamique avec un AbstractModel etc... Dans ce tableau, des que selectionne un case, j'ouvre l'explorateur de fichier puis je selectionne un fichier dont le nom viens s'ajouter à la cellule. Mon probleme est que si je prends fichiers par fichiers , les cellules prennent les noms au fur et a mesure. mais si je fais une selection multiple,( exemple 10 fichiers), les cellules ne prennent le nom que du premier fichier de la liste. ma question comment faire pour que mes cellules prennent le nom de chaque fichier?

Voici mon programme:
dans la partie principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
tableau.setDefaultEditor(String.class, new ValeurCellEditor());// modification des variables que sur la colone classe string
            tableau.setModel(modele_Tab);

le modele abstrait:
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
 
 
public class MethodeTableau extends AbstractTableModel{
 
    private final List<FCalcul> fcalculs = new ArrayList<FCalcul>();
    private final String[] titre ={" Fichiers envoyés"};
    int c;
 
 
    public MethodeTableau(){
        super();
 //       fcalculs.add(new FCalcul(" cliquez ici pour ouvrir un nouveau fichier ", false)); //ligne 1
 
    }
 
 
 
 
     public void suppression(int rowIndex){
         fcalculs.remove(rowIndex);
 
         supp_line supp_test = new supp_line(); // supprime la derniere ligne
 
         fireTableRowsDeleted(rowIndex,rowIndex);
 
     }
 
     public void ajoutLine(FCalcul fcalcul){
         fcalculs.add(fcalcul);
         fireTableRowsInserted(fcalculs.size()+1, fcalculs.size()+1);
 
     }
 
     public int getRowCount() {
         return fcalculs.size();
     }
 
     public int getColumnCount(){
         return titre.length;
     }
     public String getColumnName(int ColumnIndex){
         return titre[ColumnIndex];
     }
 
     @Override
        public Class getColumnClass(int columnIndex){
            switch(columnIndex){
                case 0: return String.class; // specification de la colonne ( String)
 
                                   default:
                                return Object.class;
                                }
                                                    }
 
        @Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
 
        return columnIndex ==0; //juste la 1er colonne  ou true pour toutes les cases ou false pour aucune
}
 
     public Object getValueAt(int rowIndex, int columnIndex) {
        switch(columnIndex){
            case 0: return fcalculs.get(rowIndex).getNom();
 
            default: return null;
        }
     }
 
     @Override
     public void setValueAt(Object aValue, int rowIndex, int columnIndex){
         if(aValue!= null){
             FCalcul fcalcul = fcalculs.get(rowIndex);// Ami ami = amis.get(rowIndex);
             switch(columnIndex){
                 case 0 :
                     fcalcul.setNom((String)aValue);
                     break;
                                  default: 
 
                     fireTableCellUpdated(rowIndex,columnIndex);
 
             }
         }
 
 
     }
 
 
}
et les variables:
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
public class FCalcul {
 
    private String Name;
    private boolean Etat;
 
    public FCalcul(String Name,boolean Etat){
        super();
        this.Name = Name;
        this.Etat = Etat;
    }
 
    public String getNom(){
        return Name;
    }
 
    public void setNom(String Name){
        this.Name=Name;
    }
 
    public boolean getEtat(){
        return Etat;
    }
 
    public void setEtat(boolean Etat){
        this.Etat=Etat;
    }
}
Voila merci pour votre aide.

Je n'ai pas mis tout le programme donc il est possible que ce que je présente ne fonctionne pas a vos yeux. Mais je vous rassure cela fonctionne mais a un detail près d'ou ma question.