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 :

Récupérer un attribut d'une JTable


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2016
    Messages : 65
    Points : 36
    Points
    36
    Par défaut Récupérer un attribut d'une JTable
    Bonjour,
    j'ai une liste "questions2" inséré dans un JTable qui affiche une liste de questions chaque question a un niveau de difficulté facile moyen et difficile. J'ai un attribut dans la table test appelé nombre de question facile là ou je dois mettre combien de question facile existe dans cette liste je veux donc récupérer de la liste le nombre de question pour chaque niveau de difficulté.Nom : wa.png
Affichages : 95
Taille : 4,8 Ko
    j'ai essayé avec ce code mais ça marche pas si vous pouvez le corriger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void actionPerformed(ActionEvent arg0) {
    				Test test= new Test();
    				 Integer id=GestionTestDelegate.doGetLastInsertId();
    				 test=GestionTestDelegate.doFindTestById(id);
    				 Integer facile = null;
    				 Question question=new Question();
    					if(questions2.contains(question.getNiveauDeDifficulte().equals("Facile"))){
    					 facile++; 
    					 test.setNbrQuestionFacile(facile);
     
    				}

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    On ne peut pas te répondre sans aucun doute sans savoir ce qu'est questions2 ou sans savoir le code de la classe Question.

    Tout ce que je peux dire :

    1. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      Integer facile = null;
      facile++;
      Ce code ne te choque pas ? null + 1 ça fait combien ?
    2. Si questions2 est, comme son nom le suggère, une collection de Question, questions2.contains(question.getNiveauDeDifficulte().equals("Facile"))) est forcément faux, parce que ça teste si un booléen est contenu dans cette collection, ce qui est impossible (enfin, pas vraiment, mais je ne pense pas que tu aies contourné le type paramétré pour mettre du Boolean dans cette liste).

    3. Question question=new Question();puis
      question.getNiveauDeDifficulte().equals("Facile")C'est plutôt étrange, parce que
      1. si la question est facile par défaut (par son constructeur par défaut), inutile alors d'en créer une : autant partir directement du principe qu'elle est facile par défaut
      2. si la question n'est pas facile par défaut, idem : autant partir du principe que le test est faux d'office, sans créer de Question
      3. si le niveau de la question est aléatoire, elle peut être facile ou pas, par défaut : mais je ne vois pas trop à quoi ça servirait, puisque cette question est ensuite perdue.


    Si le but est de compter le nombre de questions faciles contenues dans questions, et que questions2 est bien une collection de Question, on doit faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int nombreDeQuestionsFaciles=0;
    for(Question question : questions2) {
       if ( "Facile".equals(question.getNIveauDeDifficulte()) ) { // c'est pas terrible de gérer ça par un String. Une enum serait mieux adaptée
              nombreDeQuestionsFaciles++;
       }
    }
    test.setNbrQuestionFacile(nombreDeQuestionsFaciles);
    Ou encore, en Java 8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test.setNbrQuestionFacile( questions2.stream().filter(question-> "Facile".equals(question.getNIveauDeDifficulte())).count() );
    Il y a également un moyen direct de récupérer le nombre par niveau de difficulté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Map<String, List<Question>> niveaux = question2.stream().collect(Collectors.Grouping(Question::getNiveauDeDifficulte));
    int nbFacile = niveaux.get("Facile").size();
    int nbDifficile = niveaux.get("Difficile").size(); // si la valeur est bien "Difficile"

    Mais la question que je me pose surtout, c'est quel rapport entre le titre de ta discussion et la question que tu poses et le code que tu montres ? Et c'est quoi un attribut de JTable pour toi ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/07/2010, 13h53
  2. Récupérer les attributs d'une ligne dans un Datagrid
    Par siro1 dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 23/09/2009, 17h29
  3. Récupérer les lignes d'une Jtable filtrée.
    Par thefas75 dans le forum Composants
    Réponses: 3
    Dernier message: 21/01/2009, 11h04
  4. Récupérer un attribut d'une sous requête
    Par matoon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 25/02/2008, 17h45
  5. [DOM] Récupérer les attributs d'une classe CSS ?
    Par titoumimi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 10/07/2007, 14h33

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