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

JavaFX Discussion :

récupérer un élément depuis une ObservableList


Sujet :

JavaFX

  1. #1
    Membre habitué Avatar de Hind4Dev
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 428
    Points : 140
    Points
    140
    Par défaut récupérer un élément depuis une ObservableList
    Je reçois le résultat d'une requête SQL dans une ObservableList car j'utilise la même méthode plusieurs fois dans mon projet, mais j'ai besoin dans un endroit précis de récupérer juste quelques éléments de cette liste et non pas la totalité, je ne sais comment le faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //formation : la liste
    //f : objet de la classe modèle formation pour appeler la méthode
    //cmbFormation : j'envoi le selected item d'un combo pour récupérer une formation précise
    ObservableList<Formation> formation = f.getFormation(cmbFormations.getValue());
    j'ai besoin de récupérer un champs de cette liste "formation" comment le faire je vous prie.
    merci

  2. #2
    Membre actif
    Avatar de guatto
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 179
    Points : 226
    Points
    226
    Par défaut
    Bonsoir,

    si je comprends bien tu essayes d'assigner une valeur de type (Formation) à une ObservableList,à partir de ta méthode getFormation ? si c'est le cas tu devrais avoir une erreur avant même de compiler, mais je pense que tu le sais ça, alors je vais te répondre en fonction des informations fournies et de ce que j'ai compris.

    Tu veux liste globale où stocker tes informations et en récupérer certains seulement, mais d'abord tu initialises ta liste et tu y ajoutes tes éléments :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
           ObservableList<Formation> formation = FXCollections.observableArrayList();
     
           formation.add(new Formation());
           //OU
           formation.add(new Formation(paramètres si le constructeur est surchargé));
    Maintenant supposons que tu veux récupérer une information (le nom d'un fichier "String") se trouvant dans ta classe Formation et ce parmi les éléments existant dans la liste :

    Classe Formation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
           public class Formation {
     
            private String nomDuFichier;
     
            public Formation(String nomDuFichier){
               this.nomDufichier = nomDuFichier;
            }
    	public String getFileName(){
    	   return nomDuFichier;
    	}
     
            }
    Et du cote de ta liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
         formation.get(indexDeTaListe).getFileName(); //Appelle une méthode de ta liste (getFileName)
         formation.get(indexDeTaListe);  //Appelle toute la liste à partir de son index
    Maintenant dans ton cas du Combo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         formation.get(selectedItem);  //Retourne la formation voulue parmi ceux créées, ici selectedItem fait référence à l'index de l'item sélectionné.
    Voila, c'est comme ça que j'aurais fait, mais je doute toutefois que ça soit ça ton problème, donc je t'invite à donne plus de détail sur ton problème si besoin.

  3. #3
    Membre habitué Avatar de Hind4Dev
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 428
    Points : 140
    Points
    140
    Par défaut
    vous avez raison, moi je remplis ma liste comme vous venez de le faire via les indexes, seulement j'extrait les données d'une base , comme ceci:
    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
     
    public ObservableList<Formation> getFormation(String titre) throws SQLException {
            cnx = Conn.Connect();
            ObservableList<Formation> f = FXCollections.observableArrayList();
            String query = "SELECT * FROM Formation WHERE titre=?";
            try {
                ps = cnx.prepareStatement(query);
                ps.setString(1, titre);
                rs = ps.executeQuery();
                while (rs.next()) {
                    f.add(new Formation(rs.getString(1),rs.getString(2),rs.getString(3),
                            rs.getString(4),rs.getString(5)));
                }
            } catch (Exception ex) {
                System.err.println("Error" + ex);
            } 
    return f;
    }
    et dans cette classe d'inscription, j'ai besoin de récupérer le code de la formation choisie dans le combobox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ObservableList<Formation> formation = f.getFormation(cmbFormations.getValue());
    Inscription ins = new Inscription(txtDateIns2.getText(), txtMat2.getText(), formation.get(0), true);
    car inscription c'est une relation, donc ce get(0) me donne erreur de syntaxe et je ne sais comment récupérer mon code

  4. #4
    Membre habitué Avatar de Hind4Dev
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 428
    Points : 140
    Points
    140
    Par défaut
    c'est bon , j'ai ajouté après le get(index) comme vous avez dit le getter de l'attribut voulu
    mais j'arrive pas à tester le vbox ne s'affiche pas
    merci guatto

  5. #5
    Membre actif
    Avatar de guatto
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 179
    Points : 226
    Points
    226
    Par défaut
    Quel est le rôle de ton VBox ici ? qu'est ce que tu cherches à y afficher ?

  6. #6
    Membre habitué Avatar de Hind4Dev
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 428
    Points : 140
    Points
    140
    Par défaut
    c'est bon je l'ai affiché, y'avait un objet qui était null il bloquait tout.
    merci beaucoup

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

Discussions similaires

  1. Récupérer un élément d'une combobox non sélectionnée
    Par skytofer31 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/12/2006, 14h50
  2. Comment récupèrer les éléments d'une JList
    Par Orian dans le forum Composants
    Réponses: 13
    Dernier message: 10/09/2006, 11h53
  3. Récupérer un record depuis une gridview
    Par Dnx dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/07/2006, 11h42
  4. Réponses: 5
    Dernier message: 22/02/2006, 17h32
  5. [Utilisation] Récupérer les modifications depuis une date donnée
    Par Sapience dans le forum CVS
    Réponses: 1
    Dernier message: 15/02/2006, 12h08

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