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 :

Afficher des java beans en liste dans un Javafx (utiliser un combobox)


Sujet :

JavaFX

  1. #1
    Membre averti
    Homme Profil pro
    Chef du projet web
    Inscrit en
    Août 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chef du projet web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 18
    Par défaut Afficher des java beans en liste dans un Javafx (utiliser un combobox)
    Bonjour,

    Je travaille sur un projet de stage et je dois faire un micriservice Rest sur Spring, j'ai donc sous Eclipse crée un microservice ville qui renvoie tous les villes enregistrées dans une base de donnée sql, "Ville" est un microservice, et aussi un projet à part, qui forme le back de mon appli.

    Pour le front, et c'est là ou je rencontre des difficultés, j'ai crée un client (projet à part) qui va aller consommer ce microservice, via des beans et les afficher sur une interface javafx.

    Via scène builder (par intermédiaire du fichier Ville.xml), j'ai réussi à afficher "en dur une liste de bâtiment", mais pas quand je tente à mettre mes objects beans pour les afficher dans une liste.

    Via Postman je récupère bien mes enregistrements (data) en format json, récupérés de la base sql, mais quand je cherche à l'afficher sur un combobox je n'arrive pas.

    Je vous remercie.


    technologies utilisées :
    sql
    java 8
    Spring
    Feign
    Postman
    javafx
    Scenebuilder

    Classe MainAppFront

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    package com.clientui.fxview;
     
    import java.io.IOException;
     
     
    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.layout.AnchorPane;
    import javafx.scene.layout.BorderPane;
    import javafx.stage.Stage;
     
    public class MainAppFront extends Application {
     
        private Stage stagePrincipal;
        private BorderPane conteneurPrincipal;
     
        @Override
        public void start(Stage primaryStage) {
            stagePrincipal = primaryStage;
            //Ca ne vous rappelle pas une JFrame ?
            stagePrincipal.setTitle("Application de gestion de personnes");
     
            //Nous allons utiliser nos fichier FXML dans ces deux méthodes
            initialisationConteneurPrincipal();
            initialisationContenu();
        }
     
        private void initialisationConteneurPrincipal() {
            //On créé un chargeur de FXML
            FXMLLoader loader = new FXMLLoader();
            //On lui spécifie le chemin relatif à notre classe
            //du fichier FXML a charger : dans le sous-dossier view
            loader.setLocation(MainAppFront.class.getResource("Menu.fxml"));
            try {
                //Le chargement nous donne notre conteneur
                conteneurPrincipal = (BorderPane) loader.load();
                //On définit une scène principale avec notre conteneur
                Scene scene = new Scene(conteneurPrincipal);
                //Que nous affectons à notre Stage
                stagePrincipal.setScene(scene);
                //Pour l'afficher
                stagePrincipal.show();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
     
        private void initialisationContenu() {
            FXMLLoader loader = new FXMLLoader();
            loader.setLocation(MainAppFront.class.getResource("Ville.fxml"));
            try {
                //Nous récupérons notre conteneur qui contiendra les données
                //Pour rappel, c'est un AnchorPane...
                AnchorPane conteneurPersonne = (AnchorPane) loader.load();
                //Qui nous ajoutons à notre conteneur principal
                //Au centre, puisque'il s'agit d'un BorderPane
                conteneurPrincipal.setCenter(conteneurPersonne);
     
                //PersonneMapping controleur = loader.getController();
     
                //controleur.setMainApp(this);
     
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
     
     
        public static void main(String[] args) {
            launch(args);
        }
    }
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    package com.clientui.fxview;
     
    import java.net.URL;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.ResourceBundle;
     
    import com.clientui.beans.ProductBean;
    import com.clientui.beans.VilleBean;
     
     
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.ComboBox;
    import javafx.scene.control.ListView;
     
    public class VilleEndure implements Initializable{
     
        @FXML
        public ComboBox<String> comboBoxVille;
     
        @FXML
        public ComboBox<VilleBean>    comboBoxVilleBean;
     
        ObservableList<String> listVille  = FXCollections.observableArrayList("Paris", "Strasbourg", "Marseille",
                "Lyon", "Lille", "Montpelier",
                "Nante", "Mulhouse", "Colmar");
     
     
        private ObservableList<VilleBean> listVilleBean = FXCollections.observableArrayList();
     
     
        //comboBoxVilleBean.setItems(FXCollections.observableList(listVilleBean));
     
     
     
    //  public void initializeDescription(VilleBean v) {
    //     
    //     
    //      comboBoxVilleBean.setItems(v.getVilNom());
    //  }
     
     
        @Override
        public void initialize(URL location, ResourceBundle resources) {
     
            comboBoxVille.setItems(listVille);
     
            comboBoxVilleBean.setItems(FXCollections.observableList(listVilleBean).setAll(listVilleBean));
     
            //rien ne s'affiche sur le fx, page blanche
            //listVilleBean.setItems(comboBoxVilleBean);
     
     
     
        }
     
     
    }
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    package com.clientui.controller;
     
    import java.util.List;
     
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
     
    import com.clientui.beans.ProductBean;
    import com.clientui.beans.VilleBean;
    import com.clientui.proxies.MicroserviceProduitsProxy;
    import com.clientui.proxies.MicroserviceVilleProxy;
     
     
     
    @Controller
    public class VilleClientController {
     
     
        @Autowired
        private MicroserviceVilleProxy VilleProxy;
     
        @GetMapping(value = "/Villes")
         public String accueil(Model model){
     
            List<VilleBean> villes = VilleProxy.listVilles();
     
     
     
                model.addAttribute("produits", villes);
     
    //      for(VilleBean v: villes) {
    //         
    //          System.out.println(" Prix produit " + v.getNomVille());
    //         
    //          }
     
                return "Ville";
            }
    }

    Nom : proxy_ville.png
Affichages : 437
Taille : 32,0 Ko

    Nom : liste_en_dure.png
Affichages : 443
Taille : 37,6 Ko

    Nom : ville.png
Affichages : 424
Taille : 24,8 Ko

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/11/2018, 12h01
  2. [AJAX] Afficher la valeur d'une liste dans une zone de texte
    Par debutantasp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/11/2007, 17h12
  3. Réponses: 4
    Dernier message: 30/05/2007, 11h39
  4. Utilité des java beans dans MVC
    Par Bba_M dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/12/2006, 15h37
  5. Réponses: 29
    Dernier message: 03/11/2005, 10h37

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