Afficher une ArrayList dans un jTable dans une fenètre
slim12
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
slim12 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
slim12 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
bonjour les gars svp j'ai besoin d'afficher un ArrayList dans une fenètre à part et j'ai pas pu j'ai essayé ce code mais sa m'afficher une erreur du type java.lang.ArrayIndexOUTofBoundsException svp aidez moi voila mon code;
class tabel extends JFrame{
public tabel() throws Exception{
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("JTable");
this.setSize(800, 800); //à vérifier demain!!!!!!!!!
Object[][] data = new Object[table.size()/2][2];
int i = 0;
while (i < 464){
data[i][0] = table.get(i);
data[i][1] = table.get(i+1);
i=i+2;
}
String title[] = {"nom", "index"};
JTable tableau = new JTable(data, title);
this.getContentPane().add(new JScrollPane(tableau));
}
}
try{
tabel fen = new tabel();
fen.setVisible(true);
} catch (Exception ex) {
Logger.getLogger(Test6.class.getName()).log(Level.SEVERE, null, ex);
}
bonjour les gars svp j'ai besoin d'afficher un ArrayList dans une fenètre à part et j'ai pas pu j'ai essayé ce code mais sa m'afficher une erreur du type java.lang.ArrayIndexOUTofBoundsException svp aidez moi voila mon code;
class tabel extends JFrame{
public tabel() throws Exception{
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("JTable");
this.setSize(800, 800); //à vérifier demain!!!!!!!!!
Object[][] data = new Object[table.size()/2][2];
int i = 0;
while (i < 464){
data[i][0] = table.get(i);
data[i][1] = table.get(i+1);
i=i+2;
}
String title[] = {"nom", "index"};
JTable tableau = new JTable(data, title);
this.getContentPane().add(new JScrollPane(tableau));
}
}
try{
tabel fen = new tabel();
fen.setVisible(true);
} catch (Exception ex) {
Logger.getLogger(Test6.class.getName()).log(Level.SEVERE, null, ex);
}
8 réponses
-
Remplaces ton while par ça :
for (int i=0, j=0;i< table.size();i+=2, j++){ data[j][0] = table.get(i); data[j][1] = table.get(i+1); } -
-
Bonjour,
Qu'est-ce qu'il y a dans ton objet "table" ?
Pourquoi boucler jusqu'à 464 ? -
non c'est rien il y'a 464 ligne je l'ai deja changé sva
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
svp j'ai besoin de votre aide svp
-
OK,
Donc si table a 464 lignes, et que tu crées un tableau data[table.size()/2][2]
Data va donc avoir : data[232][2] (232 lignes et 2 colonnes)
Donc quand tu fais :data[i][0] = table.get(i);
et que i est supérieur à 232 tu es en dehors de la capacité de ce tableau. -
ah ok alors qu'est ce que je dois modifier pour sa??
-
ok merci bkp mon vieux :)