IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

setAutoCreateRowSorter et Erreurs


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 70
    Points : 62
    Points
    62
    Par défaut setAutoCreateRowSorter et Erreurs
    bonsoir,

    j'ai suivi l'explication (toute simple) donnée ici pour avoir un tri sur ma table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            Table = new JTable(modele);
            Table.setAutoCreateRowSorter(true);
    le probleme c'est que si je modifie certaine ligne (?) et que je me sers de la fonction

    this.fireTableCellUpdated(row, col);
    j'ai cette erreur

    Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Invalid range
    at javax.swing.DefaultRowSorter.checkAgainstModel(DefaultRowSorter.java:904)
    at javax.swing.DefaultRowSorter.rowsUpdated(DefaultRowSorter.java:877)
    at javax.swing.DefaultRowSorter.rowsUpdated(DefaultRowSorter.java:898)
    at javax.swing.JTable.notifySorter(JTable.java:4261)
    at javax.swing.JTable.sortedTableChanged(JTable.java:4115)
    at javax.swing.JTable.tableChanged(JTable.java:4392)
    at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
    at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:259)
    at TableModel.setValueAt(TableModel.java:56)
    si je supprime le Table.setAutoCreateRowSorter(true);

    tout va bien !!

    ai-je oublié quelque chose ??

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 70
    Points : 62
    Points
    62
    Par défaut
    j'ai trouvé une piste

    en fait quand je déclarais ma table je l'initialisais avec un nombre de lignes !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	donnees = new Object[nbLig][NbCol];
    et le tri ce faisait donc en fonction de nbLig et quand la table était plus grande ça buggait

    reste à voir deux choses ::

    je suis obligé du coup de l'initialiser avec un grand nombre de llignes : 600

    il faut que je trouve un moyen d'ajouter des lignes dynamiquement

  3. #3
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Salut !

    J'avais le même souci que toi concernant l'ajout de lignes.
    Ca s'est résolu avec un DefaultTableModel que tu attaches à ton JTable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            model = new DefaultTableModel(numRow, numCol);       
            tableau = new JTable();
            tableau.setAutoCreateRowSorter(true);                        
            tableau.setModel(model);
    Si tu veux accéder à ton tableau, tu passes par model, comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model.setValueAt("Truc", 2, 0);
    Enfin, si tu veux ajouter une ligne, tu fais comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Object[] une_ligne = new Object[taille];
    model.addRow(une_ligne);
    Le truc énorme, c'est que ça te met à jour ta table automatiquement.

    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 70
    Points : 62
    Points
    62
    Par défaut
    merciiiiiiiiii

    je vais tester tout ça

    pour le moment j'ai laissé la déclaration à 600 lignes ça évite le bug et je peux continuer mon prog

Discussions similaires

  1. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  2. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49
  3. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo