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] structure logique d'une cellule


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut [JTable] structure logique d'une cellule
    Bonjour,

    Je travaille sur une Jtable où j'affiche des valeurs qui correspondent à plusieurs thèmes: Chiffre d'affaires, quatités, Marge bénéficiaire,... et je voudrais lancer un traitement particulier sur double clic sur une valeur.
    Le problème est que je dois savoir à quoi correspond cette valeur: chiffre d'affaitres, quatités, Marge bénéficiaire,...

    Est-ce que quelqu'un pourrait m'aider?

    Merci d'avance.

  2. #2
    Membre du Club Avatar de Liquidsoul
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Points : 65
    Points
    65
    Par défaut
    Salut,

    En interceptant ton double clic via un mouseListener tu peux pas récupérer la cellule sélectionnée? et de ce fait la colonne qui te donne le type de donnée?
    Enfin je me trompe peut-être

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Tout d'abord, merci pour ton intérêt.
    Pour remplir la table, j'utilise la commande table.setValueAt (valeur, indice_ ligne, indice_col)
    et le problème est que parfois j'ajoute un chiffre d'affaire, parfois une quantité... et le traitement que je veux faire sur double clic sur la cellule dépend de ce que représente sa valeur (chiffre d'affaires, quatité,...)

  4. #4
    Membre du Club Avatar de Liquidsoul
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par sam_saa
    Tout d'abord, merci pour ton intérêt.
    Pour remplir la table, j'utilise la commande table.setValueAt (valeur, indice_ ligne, indice_col)
    et le problème est que parfois j'ajoute un chiffre d'affaire, parfois une quantité... et le traitement que je veux faire sur double clic sur la cellule dépend de ce que représente sa valeur (chiffre d'affaires, quatité,...)
    Cela va dépendre de ce que tu passes en tant que "valeur". Est-ce un int? un objet String? autre chose?
    Parce que si tu veux pouvoir récupérer le type pour une cellule donnée il faut qu'en récupérant l'objet depuis ta cellule, tu puisses savoir ce que représente ton objet.
    Example :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaClasse cellule = table.getValueAt( ligne, colonne );
    String type = cellule.getType(); // donne par exemple : "CA"

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Oui mais j'ai essayé d'insérer un objet de type MaClasse çad j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MaClasse obj = new MaClass();
    obj.setType("CA");
    obj.setVal(20);
    table.setValueAt (obj, ligne, colonne) ;
    Mais, il n' affiche pas la valeur bien que j'ai redéfini la méthode toString de la classe MaClasse pour retourner Val.

  6. #6
    Membre du Club Avatar de Liquidsoul
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par sam_saa
    Oui mais j'ai essayé d'insérer un objet de type MaClasse çad j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MaClasse obj = new MaClass();
    obj.setType("CA");
    obj.setVal(20);
    table.setValueAt (obj, ligne, colonne) ;
    Mais, il n' affiche pas la valeur bien que j'ai redéfini la méthode toString de la classe MaClasse pour retourner Val.
    Tu utilises un TableModel pour gérer tes données? Comment remplis-tu ton tableau? Es-tu sur que c'est la méthode "toString" de l'objet qui est appelé pour afficher le contenu d'une cellule?

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Pour remplir le tableau, j'utilise le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MaClasse obj = new MaClasse();
    obj.setType = "CA"
    obj.setVal = 250
    table.setValueAt (obj,row,column)
    Franchement, je ne sais pas si c'est la méthode "toString" de l'objet qui est appelée pour afficher le contenu d'une cellule..déjà je pense que la réponse à cette question peut être la solution de mon problème

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Points : 126
    Points
    126
    Par défaut
    Tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    MaClasse obj = new MaClasse();
    obj.setType = "CA"
    obj.setVal = 250
    table.setValueAt (obj.getVal(),row,column)
    Java, c'est pas de la menthe à l'eau.. !!

  9. #9
    Membre confirmé 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
    Points : 554
    Points
    554
    Par défaut
    Le plus propre est de passer par un TableModel...

    http://java.sun.com/docs/books/tutor...able.html#data

Discussions similaires

  1. [JTable] Position absolue d'une cellule.
    Par Alphonse87 dans le forum Composants
    Réponses: 2
    Dernier message: 08/08/2008, 10h10
  2. [JTable] Check Box dans une cellule
    Par kkajout dans le forum Composants
    Réponses: 4
    Dernier message: 19/05/2008, 10h55
  3. [JTable] Récupérer données d'une cellule éditée
    Par lilou77 dans le forum Composants
    Réponses: 9
    Dernier message: 14/09/2005, 10h34
  4. [JTable] Un JButton dans une cellule
    Par Sarrus dans le forum Composants
    Réponses: 19
    Dernier message: 31/08/2005, 16h29
  5. [JTable] Un ScrollPane dans une cellule
    Par Colonel Renard dans le forum Composants
    Réponses: 3
    Dernier message: 25/07/2005, 16h54

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