Problème TableModel sous Linux uniquement [Java] - Java - Programmation
Marsh Posté le 08-01-2007 à 16:04:52
Je précise que c'est la méthode "DefaultTableModel.setValueAt(Object,int,int)" que Java n'aime pas ici.
Les coordonnées que j'utilise sont celles de cellules existantes, j'ai d'ailleurs essayé avec un tableau plus grand sans conséquences.
Je n'utilise pas de vecteurs, seulement une chaine de caractère (l'objet) que je place dans chaque cellule du tableau
Marsh Posté le 08-01-2007 à 16:15:17
Dans l'API 1.4.2 partie DefaultTableModel je trouve ce message :
This is an implementation of TableModel that uses a Vector of Vectors to store the cell value objects. |
Ceci pourrai expliquer mon problème de compatibilité avec les versions supérieures.
De quelle manière je pourrai simplement rendre mon code compatible avec toutes les versions de Java?
Merci
Marsh Posté le 08-01-2007 à 15:22:10
Bonjour
J'ai fais mon programme Java (Swing) sous Windows avec Java 5. J'ai essayé de l'exécuter sans soucis sous MacOSX avec la même version de Java. Par contre sous Linux ça se complique : Java (1.4.2) plante lors de l'ajout de données dans le modèle de JTable.
Voici l'erreur :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
at java.util.Vector.checkBoundExclusive(libgcj.so.7rh)
at java.util.Vector.set(libgcj.so.7rh)
at javax.swing.table.DefaultTableModel.setValueAt(libgcj.so.7rh)
at IFEMonitoring.SebTable.add(SebTable.java:52)
at IFEMonitoring.SebTable.<init>(SebTable.java:26)
at IFEMonitoring.Monitoring.main(Monitoring.java:244)
Pourtant mon modèle comporte un nombre suffisant de lignes et de colonnes, je ne comprends pas pourquoi ça déborde, d'ailleurs 1 >= 1 à ce que je sache
Je n'ai pas la chance de pouvoir installer une version de Java plus récente sous Linux donc je ne pourrai pas tester avec la version 5.
Dans Eclipse (sous Windows) j'ai configuré le projet pour compiller en mode compatibilité Java 1.3 donc en théorie mon code est correct
Je débute donc j'ai un peu de mal à comprendre cette erreur, merci de m'aider