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

Composants Java Discussion :

[Swing][JTable]Gérer l'édition


Sujet :

Composants Java

  1. #21
    Membre régulier Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Points : 103
    Points
    103
    Par défaut
    Si je ne me trompe pas, tu n'a pas redéfini la methode setValueAt(Object aValue, int rowIndex, int columnIndex) ce qui fait que c'est la methode par default de la classe abstraite qui est utilisée et donc ça ne fait rien.
    De plus, tu ajoute ton tableModel comme listener de ses propres changement si je ne me trompe pas, ce qui ne sert à rien.

    A+

  2. #22
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par zoullou
    Si je ne me trompe pas, tu n'a pas redéfini la methode setValueAt(Object aValue, int rowIndex, int columnIndex) ce qui fait que c'est la methode par default de la classe abstraite qui est utilisée et donc ça ne fait rien.
    Non, ne me dis que c'était juste ca... Quelle horreur, je vais tester ca tout de suite et je reviens dire le résultat

    Je l'avais pas fait, car je pensais que ca me servait à rien comme je ne modifiait jamais une donnée comme ca...

    Citation Envoyé par zoullou
    De plus, tu ajoute ton tableModel comme listener de ses propres changement si je ne me trompe pas, ce qui ne sert à rien.

    A+
    Ca par contre, je suis pas d'accord, car c'est au modèle que l'on ajoute un listener et non pas à la JTable

    EDIT: Je vais plutot rendre réponse ce soir, car j'ai trop de travail au boulot pour coder du java

  3. #23
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut
    Ca y est, j'ai trouvé (enfin pour mon cas !!!)

    Mon setValueAt n'était pas surchargé correctement (allez savoir pourquoi !!!)
    En effet je l'avais déclaré setValueAt (int, int, Object) au lieu de setValueAt (Object, int, int). Je ne sais pas ou j'avais trouvé ce code ???

    De ce fait la modification n'était pas prise en compte...

    Wichtounet, tu dois etre dans le meme cas, car tu n'as pas déclaré setValueAt.



    Merci à tous pour votre aide...

  4. #24
    Membre régulier Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par wichtounet
    Ca par contre, je suis pas d'accord, car c'est au modèle que l'on ajoute un listener et non pas à la JTable
    Oui, ton model est listener de ses propres changement, ce qui ne sert à rien

  5. #25
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par zoullou
    Oui, ton model est listener de ses propres changement, ce qui ne sert à rien
    Si tu regardes le lien que tu m'a donné, le listener et bel et bien ajouté au modèle

  6. #26
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Mouaip sinon c'est bien ton setValueAt qui pose problème car l'AbstractTableModel ne le fait pas pour toi (tu aurais utilisé le default ça aurait étét autrechose )
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #27
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par sinok
    Mouaip sinon c'est bien ton setValueAt qui pose problème car l'AbstractTableModel ne le fait pas pour toi (tu aurais utilisé le default ça aurait étét autrechose )
    Ouais, j'avais pensé que comme moi je ne l'employerais pas, ca me servirait à rien de la surcharger

  8. #28
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    J'ai maintenant reglé une partie de mon problème, car je peut changer les données directement dans la JTable, mais j'arrive pas à récupérer ou cette modification s'est produite...

    dans la méthode tableChanged de mon modèle si je fais un getColumn() sur mon event, à chaque modification j'ai une modification dans le colonne -1. C'est pareil si j'emploie les autres méthodes sur l'event, j'ai toujours la même chose...

    J'ai aussi essayé de faire directement implémenter tableModelListener à ma classe d'iinterface graphique, mais ca ne change rien... A chaque fois ca me renvoie les mêmes valeurs...

    Voici mon code :

    Une partie de mon modèle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class MyModel extends AbstractTableModel implements TableModelListener{
    <div style="margin-left:40px">...
    public void tableChanged(TableModelEvent event) {
     
    <div style="margin-left:40px">System.out.println("" + event.getColumn());//Me renvoie toujours -1</div>}</div>}
    déclaration du listener

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filmsTable.getModel().addTableModelListener(model);

  9. #29
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je sais pourquoi ca me renvoyait toujours -1 dans la colonne. -1 est renvoyé quand l'evenement s'est produit sur toutes les colonnnes et pas sur une en particulier.

    Le problème venait du fait que j'avais mis super.fireTableDataChanged(); dans la méthode setValueAt() au lieu de super.fireTableCellUpdated(row, column); donc il réaffichait le tout et disait qu'il avait fait une modif sur le tout...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 08h50
  2. [Swing / JTable] Rendre les cellules d'un JTable non éditables
    Par Jérôme_20 dans le forum Composants
    Réponses: 20
    Dernier message: 10/02/2011, 10h32
  3. [Swing]Jtable édition
    Par Lethal dans le forum Composants
    Réponses: 5
    Dernier message: 06/03/2006, 17h18
  4. [Debutant][Swing][Jtable]Peut-on avoir 2 forecolor ?
    Par britou dans le forum Composants
    Réponses: 7
    Dernier message: 14/05/2004, 15h03
  5. [SWING]jTable + Focus
    Par chady dans le forum Composants
    Réponses: 5
    Dernier message: 27/02/2003, 14h51

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