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

AWT/Swing Java Discussion :

Récupérer les changements de valeurs d'une JTable


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2021
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2021
    Messages : 13
    Points : 16
    Points
    16
    Par défaut Récupérer les changements de valeurs d'une JTable
    Bonsoir, c'est encore moi

    Toujours sur mon appli de gestion des membres d'un groupe, j'ai résolu mon problème d'affichage de JTable (merci encore joel.drigo), mais maintenant j'ai une question, ça me semble tout bête et pourtant je n'y arrive pas et je n'ai vraiment rien trouvé (à ma grande surprise, ou alors j'ai mal recherché) : je souhaite récupérer les changements effectués dans les cellules de ma JTable, afin de mettre à jour les attributs de mes objets. J'ai trouvé comment récupérer la ligne sélectionnée, je pense aussi pouvoir récupérer la colonne sélectionnée, mais je ne vois absolument pas comment récupérer les mises à jours faites dans les cellules...

    Je me suis dit que c'était certainement dans la méthode valueChanged(ListSelectionEvent e) de la classe ListSelectionListener, mais je n'ai pas trouvé d'attributs ou de méthodes pouvant récupérer la valeur modifiée...

    J'espère que vous voudrez bien m'aider, malgré l'éventuelle bêtise de ma question

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    août 2006
    Messages
    4 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

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

    Informations forums :
    Inscription : août 2006
    Messages : 4 009
    Points : 7 839
    Points
    7 839
    Par défaut
    Si je t'ai bien compris, je pense que tu devrais trouver ton bonheur par ici https://docs.oracle.com/javase/tutor...llistener.html
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2021
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2021
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Bonjour, merci pour ta réponse ! Je pense effectivement que c'est ça, mais j'obtiens l'erreur StackOverflowError, je ne comprends pas vraiment pourquoi et c'est la première fois que j'obtiens une erreur de ce type... Voici mon implémentation de tableChanged, et je mets également mes méthodes updateVal (se trouvant dans ma classe Membres) et updateRow :

    Implémentation de tableChanged :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    table.getModel().addTableModelListener(new TableModelListener() {
            @Override
            public void tableChanged(TableModelEvent e) {
    		if(e.getType() == TableModelEvent.UPDATE) {
    			String s = (String) table.getValueAt(e.getFirstRow(), e.getColumn());
     
    			int row = e.getFirstRow();
    			String id = getIdFromRow(row);
            	        for(Iterator<Membres> it = SystemeSauvegarde.listeMembres.iterator() ; it.hasNext() ;) {
    				Membres m = it.next();
    				if(id.equals(m.getId())) {
    					m.updateVal(e.getColumn(),s);
    					String[] val = m.toArray();
    					updateRow(row,val);
    				}
    			}            
    		}
    	}
    });
    Méthode updateRow :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static void updateRow(int row, String[] val) {
    	for(int i = 1 ; i < 8 ; i++) {
    		model.setValueAt(val[i], row, i);
    	}
    }
    Méthode updateVal (pour l'instant j'avais juste fait avec le nom, pour voir si ça fonctionnait) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void updateVal(int column, String s) {
    	if(column == 1) {
    		this.setNom(s);
    	}
    }
    Est-ce que tu pourrais me dire ce qui ne va pas s'il te plaît ? :p
    Merci d'avance et merci pour ta réponse !

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    août 2006
    Messages
    4 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

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

    Informations forums :
    Inscription : août 2006
    Messages : 4 009
    Points : 7 839
    Points
    7 839
    Par défaut
    Bonjour,

    Il est presque toujours nécessaire de fournir le stacktrace, c'est plus facile pour comprendre.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Toutes versions] Alterner les couleurs sur changement de valeur dans une colonne
    Par Invité dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/01/2015, 09h20
  2. Réponses: 10
    Dernier message: 05/01/2011, 11h46
  3. [XL-2003] Compter les changements de valeur dans une colonne
    Par clem71 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/04/2009, 00h09
  4. Réponses: 12
    Dernier message: 04/02/2009, 12h44
  5. changement de valeur d'une colonne JTable
    Par matzeus dans le forum Composants
    Réponses: 1
    Dernier message: 04/05/2006, 18h05

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