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 :

Lien entre combobox et listView


Sujet :

JavaFX

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 51
    Points : 30
    Points
    30
    Par défaut Lien entre combobox et listView
    Bonjour,
    J'aimerais savoir comment est-ce possible de relier les elements d'une combobox et les afficher dans une listView :
    Je m'explique :
    J'ai une comboBox avec une liste de pays, et je voudrais afficher afficher dans une liste box les 5 plus grandes villes de chaques pays.
    J'ai bien mes differentes class, mais je n'arrive pas à recuperer les valeurs de la comboBox.
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Bonjour,

    Je ne suis pas sûr d'avoir bien compris ta question...

    Mais si tu as un combo cboPays qui contient tes objets "Pays" c'est parce que tu les y a mis avec un code du style : cboPays.setItems(taListeDePays);

    Cette même liste, tu peux la mettre comme "source" de ton listView.

    Pour ce qui est de n'afficher que les 5 plus grands pays, il faudrait savoir sur quel critère (surface, population, économie,...) et si tu as cette information au départ ou pas dans ton objet Pays.

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 855
    Points
    22 855
    Billets dans le blog
    51
    Par défaut
    Quelque chose dans le style ?

    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
    private final ComboBox<Country> countryComboBox = [...]
    private final ListView<City> cityListView = [...]
     
    [...]
     
    countryComboBox.getSelectionModel().selectedItemProperty().addListener(observable -> {
        cityListView.getItems().clear();
        final Country country = countryComboBox.getSelectionModel().getSelectedItem();
        // Requête qui récupère la liste des citées les plus peuplées dans ce pays.
        // PS: si requête longue, faire une tache asynchrone avec un service.
        List<City> cities = Collections.EMPTY_LIST;
        if (country != null) { 
            [...]
        }
        cityListView.getItems().setAll(cities);
    });
    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

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 51
    Points : 30
    Points
    30
    Par défaut
    J'ai changé;
    Ducoup se sera une liste de musique et quand on cliquera sur " jazz" par exemple, dans notre listeview il y aura toutes les musiques de type jazz ...


    Voici mon code, j'ai des classes musiques e listeDeMusique(observable liste)
    Merci de votre aide.
    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
    76
    77
    78
    79
     @FXML
         ComboBox<Categorie> categ;
     
        @FXML
         ListeCategorie categorie;
     
        @FXML
         ListView<Musique> listeMusiques;
     
        @FXML
        ListeMusique musique;
     
        @FXML
        TextField titreMusique;
     
        @FXML
        private void addMusique() throws IOException{
            Parent root = FXMLLoader.load(getClass().getResource("/View/AjouterMusique.fxml"));
     
            Scene scene = new Scene(root);
            Stage stage = new Stage();
            stage.setScene(scene);
            stage.show();
        }
     
     
     
        public void initialize(URL url, ResourceBundle rb) {
     
     
            musique.addMusique();
            categorie.addCategorie();
            creationCellFactoryPourMatieres();
            creationEcouteurDuChangementDeSelectionMusique();
     
     
     
        }  
     
            private void creationEcouteurDuChangementDeSelectionMusique() {
            listeMusiques.getSelectionModel().selectedItemProperty().addListener((obs,old,newV) -> {
                if (old != null) {
                    unbindSurElementsMusique(old);
                }
                if (newV != null) {
                    bindSurElementsMusique(newV);
                }
            });
        }
     
           private void creationCellFactoryPourMatieres() {
            listeMusiques.setCellFactory(param -> new ListCell<Musique>(){
     
                @Override
                protected void updateItem(Musique item, boolean empty) {
                    super.updateItem(item, empty);
                    if (!empty) {
                        textProperty().bind(item.titreProperty());
                    } else {
                        textProperty().unbind();
                        setText("");
                    }
                }
     
            }
            );
        } 
     
                    private void bindSurElementsMusique(Musique newV) {
            titreMusique.textProperty().bindBidirectional(newV.titreProperty());
             //listeMusiques.itemsProperty().bind(newV.notesProperty());
        }
     
        private void unbindSurElementsMusique(Musique old) {
            titreMusique.textProperty().unbindBidirectional(old.titreProperty());
           //listeMatieres.itemsProperty().unbind();
        }
     
        }

Discussions similaires

  1. lien entre rich:comboBox et des objets
    Par argonath dans le forum JSF
    Réponses: 22
    Dernier message: 07/01/2010, 20h09
  2. Liens entre combobox et textfield
    Par Hystic dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/07/2009, 11h49
  3. Lien entre deux colonnes dans une liste (utilisation de combobox)
    Par cantanna1988 dans le forum SharePoint
    Réponses: 7
    Dernier message: 02/03/2009, 17h10
  4. [VB2005] lien entre combobox et listbox
    Par Petrolia dans le forum Windows Forms
    Réponses: 20
    Dernier message: 04/06/2006, 14h28
  5. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15

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