Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2760 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Problème TableModel sous Linux uniquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Problème TableModel sous Linux uniquement

n°1500326
XK
Posté le 08-01-2007 à 15:22:10  profilanswer
 

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 :p
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 :hello:  :jap:

mood
Publicité
Posté le 08-01-2007 à 15:22:10  profilanswer
 

n°1500366
XK
Posté le 08-01-2007 à 16:04:52  profilanswer
 

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 :heink:

n°1500379
XK
Posté le 08-01-2007 à 16:15:17  profilanswer
 

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.
 
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.


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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Problème TableModel sous Linux uniquement

 

Sujets relatifs
java ServletPRobleme requette SQL
Dessiner un arbre en java?^^Problème de réveil de Thread
Problème grave, fishing, online.net[OCAML] (Debutant) Construction d'une liste : Probleme
Problème encodage cyrilliqueJava threads : wait() & notify()
problème sortie[C#] problème d'inclusion d'une dll
Plus de sujets relatifs à : [Java] Problème TableModel sous Linux uniquement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR