Bonjour,
Je m'occupe sur un petit projet personnel, à savoir la réalisation d'une petite application pour éditer des sous-titres.
Je n'ai jamais utiliser les JTable jusqu'a présent donc c'est le moment ou jamais.
Les sous-titres sont stockés dans un tableau d'objet classique et possédant donc une taille logique etc...
J'ai créé un JPanel :
Voici la classe TableauModele :
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 public class Tableau extends JPanel { private TableauSousTitre tab; private JTable table; private TableauModele modele; public Tableau (TableauSousTitre tab) { this.tab = tab; modele = new TableauModele (tab); table = new JTable (modele); [...] this.add(table); } public void rafraichir () { // après avoir ajouter le nouveau sous titre au tableau modele.fireTableDataChanged(); } }
Dans ma fenetre, il y a entre autre un bouton ajouter sous titre, tout ce passe bien pour les 5 premiers...
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 public class TableauModele extends AbstractTableModel { private TableauSousTitre tab; private String [] titre = { "N°","Début","Fin","Texte" }; public TableauModele (TableauSousTitre tab) { this.tab = tab; } public int getColumnCount() { return titre.length; } public Object getValueAt(int i, int j) { if (j == 0) return (i+1); if (j == 1) return tab.elementAt(i).getHeureDebut().toString(); if (j == 2) return tab.elementAt(i).getHeureFin().toString(); return tab.elementAt(i).getTexte(); } public int getRowCount() { return tab.size(); // size() renvoie donc la taille logique de mon tableau } public String getColumnName(int j){ return titre[j]; } public Class getColumnClass(int c) { return getValueAt(0,c).getClass(); } public boolean isCellEditable(int row, int col) { return col == 3; } }
Je clique, il rajoute le sous titre dans mon tableau, et affiche la nouvelle ligne dans la JTable...
Le problème vient du fait qu'après le 5ème, quand je veux un rajouter un en plus, plus rien ne fonctionne et il affiche ceci :
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
J'ai déjà essayé avec d'autres choses quemais le problème reste identique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part modele.fireTableDataChanged();
Je ne vois pas ou est le problème, en outre si vous avez de suggestions sur autre chose je suis preneur.
Merci d'avance.
Partager