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();
}
} |
Partager