2016-06-29 5 views
1

Ich habe eine ListView mit Elementen darin, und auf die nächste Seite gehen, muss der Benutzer ein Element auswählen, da die nächste Seite über das Ändern des ausgewählten Elements ist.Wie erkennt man, ob der Benutzer ein Element in einem ListView ausgewählt hat?

Um auf die nächste Seite zu gelangen, klickt der Benutzer auf eine Schaltfläche mit der Bezeichnung "Next". Ich habe dies standardmäßig ausgegraut, aber ich möchte, dass es in dem Moment grauer wird, in dem der Benutzer auf ein Element in der ListView klickt.

Im Moment, ich habe es auf onMouseClick gesetzt, was nicht sehr effektiv ist, weil dies ganz wörtlich aktiviert, wenn die ListViewKnoten geklickt werden, nicht, wenn ein Element ist.

Wie würde ich das lösen?

Antwort

3

Sie können die original tutorial, Abschnitt "Bearbeiten der Listenelementauswahl" (Beispiel 11-5) überprüfen.

listView.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> { 
    // newVal contains the selected item 
}); 

Auch können Sie binden disableProperty des Button zum selectedItemProperty des Auswahlmodell der ListView bedingt:

nextButton.disableProperty().bind(listView.getSelectionModel().selectedItemProperty().isNull());