Ma liste se duplique
Résolu
Hamster18
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Bonjour j'essaye de faire un jeu en java/javafx et j'essaye de réaliser un tableau des scores sauf que ma liste se duplique c'est-à-dire que j'ai deux fois l'affichage des éléments de ma liste. J'ai beau lire et relire mon code je ne voit pas ou je fait ce "double remplissage". Pouvez vous m'aider à trouver mon erreur s'il vous plait ?
Merci d'avance pour vos réponse.
---Je pense que l'erreur est dans cette partie---
Merci d'avance pour vos réponse.
---Je pense que l'erreur est dans cette partie---
public class ListeJoueurs { private static ObservableList<Joueur> listJoueurObs = FXCollections.observableArrayList(); private static ListProperty<Joueur> listJoueur = new SimpleListProperty<>(listJoueurObs); public ObservableList<Joueur> getLesPersonnes() { return listJoueur.get(); } public void setListJoueur(ObservableList<Joueur> value) {listJoueur.set(value);} public static ListProperty<Joueur> listJoueurProperty() { return listJoueur; } public ListeJoueurs () { listJoueurObs.add(new Joueur("cloclo")); listJoueurObs.add(new Joueur("hamster18")); listJoueurObs.add(new Joueur("Alex")); } }
@FXML private TableView<Joueur> tableDesScores; @FXML private final ListeJoueurs listeJoueurs = new ListeJoueurs(); private final TableColumn<Joueur, String> columnSurname = new TableColumn<>("Surname"); private final TableColumn<Joueur, Integer> columnScore = new TableColumn<>("Score"); public void initialize() { for(Joueur elem: listeJoueurs.getLesPersonnes())///////////////A SUPPRIMER { System.out.println (elem.getSurname()); } columnSurname.setCellValueFactory(new PropertyValueFactory<>("surname")); tableDesScores.getColumns().add(columnSurname); columnScore.setCellValueFactory(new PropertyValueFactory<>("nbPartieGagnee")); tableDesScores.getColumns().add(columnScore); tableDesScores.itemsProperty().bind(listeJoueurs.listJoueurProperty()); }
A voir également:
- Ma liste se duplique
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste site streaming illégal - Accueil - Services en ligne
1 réponse
Bonjour,
Ta liste est static (donc commune à tous les objets) mais elle est remplie dans le constructeur.
Donc chaque fois qu'un objet est construit la liste commune est remplie de nouveaux objets.
Il faut soit avoir une liste static avec une initialisation static, soit une liste par objet avec une initialisation dans le constructeur.
Ta liste est static (donc commune à tous les objets) mais elle est remplie dans le constructeur.
Donc chaque fois qu'un objet est construit la liste commune est remplie de nouveaux objets.
Il faut soit avoir une liste static avec une initialisation static, soit une liste par objet avec une initialisation dans le constructeur.
D'accord merci pour ce petit cours =)