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 :

probleme JTable addTableModelListener


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut probleme JTable addTableModelListener
    Bonjour,

    j'utilise la méthode addTableModelListener pour écouter les changements qu'il peut y avoir sur un model de table.
    Quand une ligne est ajouté ou quand on écrit quelque chose dedans (la JTable qui contient le model) alors le bouton pour sauver clignote.

    mon probleme est que si je selectionne une cellule de la JTable et la deselectionne mais sans rien écrire de nouveau, la méthode addTableModelListener interprete qd meme cela comme un changement et dont agit en conséquence (le bouton pour sauver clignote).

    Comment faire pour que dans ce cas le bouton ne clignote pas??

  2. #2
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Je ne suis pas sûr d'avoir tout compris, mais je pense qu'en redéfinnissant la méthode setValueAt de ton TableModel qui ne génèrerai un évènement de mise à jour (donc de modification) que si l'ancienne valeur est différente de la nouvelle devrait fonctionner...

  3. #3
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    ce serai effectivement la bonne solution, mais le fait de réecrire la méthode setValueAt de cette maniere,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    myTableModel = new MyTableModel(columnNames, 0)
    		{
    			  public void setValueAt(Object aValue, int row, int column) {
     
    				boolean changed = false;
    				Vector rowVector = (Vector) dataVector.elementAt(row);
    				if (!rowVector.get(column).equals(aValue))
    					changed = true;
    				rowVector.setElementAt(aValue, column);
    				if (changed)
    					fireTableCellUpdated(row, column);
    			}
    		};
    modifie, dirait on, la class (par l'appel getClass()) de MyTableModel (qui étend DefaultTableModel), et cela me gène pour d'autre partie de mon programme....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme JTable JTreeTable
    Par L4BiN dans le forum Composants
    Réponses: 1
    Dernier message: 10/05/2007, 14h08
  2. probleme jtable et scrollbar
    Par jayjay.f dans le forum Composants
    Réponses: 12
    Dernier message: 14/03/2007, 09h34
  3. <debutant> probleme JTable
    Par melodie53 dans le forum Composants
    Réponses: 1
    Dernier message: 28/07/2006, 00h44
  4. [NetBeans] Probleme Jtable avec Netbeans
    Par mathis49 dans le forum NetBeans
    Réponses: 3
    Dernier message: 05/02/2006, 18h04
  5. Probleme JTable Header et largeur colonnes
    Par Seth77 dans le forum Composants
    Réponses: 6
    Dernier message: 16/01/2006, 10h36

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