Bonjour j'ai crée dans une classe que j'appelle Modif_cl un JTable nommé table_cl dans laquelle je range les informations provenant d'une base de donnée. Mais le problème c'est qu'il me retourne une erreur du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Voici quelque extrait de ma classe et surtout la ligne qui me renvoie l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
table_cl.setModel(new DefaultTableModel(
                new Object [(data.size()-1)/Integer.parseInt(data.get(0))][Integer.parseInt(data.get(0))],
                new String [] {bundle.getString("NUMERO"), bundle.getString("NOM"), bundle.getString("PRENOM"), bundle.getString("ETAT")}
        ));
data est une arraylist que je définit de cette façon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ArrayList<String> data = new ArrayList<String>(10);
voici le constructeur de ma classe

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
public Modif_cl(JFrame parent, boolean modal){       
        super(parent, modal);
 
        //---
        gui(); 
        this.getContentPane().setBackground(new Couleur().COULEUR_BACKGROUND_FENETRE);
 
        //--- 
        table_cl.getTableHeader().setBackground(new Couleur().COULEUR_BACKGROUND_BLOC);
        table_cl.getTableHeader().setFont(new java.awt.Font("Verdana", 1, 12)); 
        table_cl.getTableHeader().setForeground(new Couleur().COULEUR_TEXTE);
 
        //---
        chargertab();
    }
voici l'implémentation de la fonction chargertab()
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
private void chargertab() {
        //--- 
        try {
            //--- 
            inter =(InterfaceCl)Naming.lookup("rmi://localhost:1099/ServiceServeur");
            data = inter.chargerArray(); 
            chargerTableau(data);
        } 
        catch (NotBoundException exc) {
            Logger.getLogger(Modif_cl.class.getName()).log(Level.SEVERE, null, exc);
        } 
        catch (MalformedURLException exc) {
            Logger.getLogger(Modif_cl.class.getName()).log(Level.SEVERE, null, exc);
        } 
        catch (RemoteException exc) {
            Logger.getLogger(Modif_cl.class.getName()).log(Level.SEVERE, null, exc);
        }
    }
inter c'est la déclaration de l'interface dans laquelle de déclasse la méthode chargerArray();
voici l'implémentation de la fonction chargerTableau()
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
public void chargerTableau(ArrayList<String> data) {         
        //--- 
        int line = 0; 
        int col = 0; 
        int nombreCol = Integer.parseInt(data.get(0));      
 
        for(int i=1; i<=data.size()-1; i++){
            table_cl.setValueAt(data.get(i), line, col);
            col++;
            if(i%nombreCol == 0) {
                col = 0; 
                line++;
            }             
        }
    }
Merci d'avance