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 :

[JTable] Récupérer la valeur d'une cellule


Sujet :

Composants Java

  1. #1
    Membre régulier Avatar de yoshï
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 206
    Points : 88
    Points
    88
    Par défaut [JTable] Récupérer la valeur d'une cellule
    Bonjour,
    je n'arrive pas à récupérer la valeur des cellules de ma JTable après que l'utilisateur ai modifié leurs contenu.
    Instanciation de ma JTable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Table_Editable myModel1 = new Table_Editable(Donnee,nom_colonne);
    nom = new JTable(myModel1);
    Donnee est de type Object[][]
    Est ce que quand l'utilisateur modifie ma Jtable l'objet Donnee est modifié également

    merci d'avance pour votre aide ^^.

  2. #2
    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 ne suis pas tout à fait sûr de ce que j'avance, mais je dirais que non, tu peut toujours faire un test pour être sur.

    L'objet qui est modifié, c'est le tableau à deux dimensions contenus à l'intérieur du modèle, qui au départ, n'est qu'une copie de ton tableau donnee

    P.S. Ta variable Donnee devrait commencer par une minuscule, comme toutes les variables

  3. #3
    Membre régulier Avatar de yoshï
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 206
    Points : 88
    Points
    88
    Par défaut
    Merci pour ta réponse,
    je vais faire plus attention à la casse, tu as raison ( excuse le novice )
    Dans le cas où l' objet modifié est le tableau à deux dimensions contenus à l'intérieur du modèle.Comment puis je faire pour accéder aux cellules modifiées?
    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println(table.getValueAt(1,1).toString())
    Mais ça me génére des erreurs

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Points : 173
    Points
    173
    Par défaut
    SaLuT.
    Je croi qu'il a une autre methode pour recuperer une valeur d'une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //on declare un entier "ligne" qui retourne la ligne selectionné dans la table
    int ligne=0;
    ligne=table.getSelectedRow();
    System.out.println(donnée[ligne][1]);
    //cela retourn la colnne 1 de la ligne selectionné sachant que les colnnes commance a 0.
    Ce la permait de recuperer les données du tableau et non pas de la table directement parce que il ne faut pas oublier que la table est remplie d'objet et non pas de string.
    J'espere que cela t'aidra.

  5. #5
    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
    Justement pas Charaf, car avec ca tu vas être dans le tableau et le tableau ne vas pas changer et tu auras donc les valeurs non-modifiées

    la meilleure des techniques reste donc (à mon avis ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int ligne = table.getSelectedRow();//Si tu veut la cellule selectionnée, sinon une autre valeur
    int colonne = table.getSelectedColumn();//Si tu veut la cellule selectionnée, sinon une autre valeur
    Object cellule = table.getValueAt(ligne,colonne);
    //Ensuite tu fais ce que tu veut sur ton objet, comme par exemple le transformer en String

  6. #6
    Membre régulier Avatar de yoshï
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 206
    Points : 88
    Points
    88
    Par défaut
    j'arrive maintenant à récupérer les valeurs de ma table mais j'ai un autre problème, je ne peux pas éditer ma table.En fait je peux entrer une nouvelle valeur dans une cellule mais si je valide il me remet la valeur avec laquelle j'ai initialisé ma Jtable....

    le code de la méthode getValueAt de mon modèle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Object getValueAt(int row, int col) {
            return donnees[row][col];
        }
    Comment puis je faire??

  7. #7
    Membre régulier Avatar de yoshï
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 206
    Points : 88
    Points
    88
    Par défaut
    je pense qu'il faut surchargé setValueAt mais je ne sais pas comment....

  8. #8
    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 ne suis pas sur que j'ai bien compris ton problème...

    En fait l'utilisateur arrive à modifier les valeurs du tableau mais quand il veut récupérerer ces valeurs, ca lui renvoie les valeurs du tableau avant tout changement, c'est bien ca ?

    Si tu veut surcharger la méthode setValueAt(); C'est pas compliqué, c'est la même chose que pour getValueAt();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void setValueAt(int row, int col, Object newValue) {
         donnees[row][col] = newValue;
         fireTableCellUpdated(row,col);
    }
    La méthode fireTableCellUpdated va indiquer à tous les listeners que le contenu de la cellule a changé. Mais je sais pas si ca va suffire à résoudre ton problème...

    P.S. Ton modèle étend quelle classe, car la méthode que je t'ai donnée là est la méthode pour un abstractTableModel

  9. #9
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Comment je peux récupérer la valeur de la cellule Jtable ???

    et merci d'avance

  10. #10
    Candidat au Club
    Homme Profil pro
    Base de données et développement des sites web et application en java
    Inscrit en
    Mars 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Base de données et développement des sites web et application en java
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2016
    Messages : 1
    Points : 3
    Points
    3
    Par défaut
    Salut tous le monde, j'ai lus vos réponses, elles m'ont beaucoup aidée......Mais a ce que y aura-t-il quelqu'un qui peut me dire comment insert plusieurs valeurs saisie dans un Jtable a la fois dans la base données mysql............
    Exemple:----- 30 lignes a saisir a la fois dans jtable et les insert dans mysql

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

Discussions similaires

  1. Récupérer la valeur d'une cellule du tableur OOo
    Par manubrard dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 22/02/2006, 17h51
  2. [SWING][JTable] recuperer la valeur d'une cellule
    Par Psykorel dans le forum Composants
    Réponses: 1
    Dernier message: 05/01/2006, 20h53
  3. [WebForms][DataGrid] Récupérer la valeur d'une cellule...
    Par elbj dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 12/12/2005, 14h00
  4. [C#] [Automation Word] Récupérer la valeur d'une cellule
    Par Ditch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/06/2004, 15h57

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