Ich habe ein Problem mit JavaFX.Wie bekomme ich Zugriff auf anonyme/dynamische Labels in einer JavaFX VBox?
Was ich versuche, ist ziemlich einfach: 1. Der Benutzer füllen Sie zwei TextField mit dem angegebenen Namen und surename. 2. Durch Klicken auf einen Button "Person hinzufügen" wird ein Objekt der Klasse "Person" zu einer Arrayliste hinzugefügt, die den Namen der Person enthält. Zur gleichen Zeit wird es ein VBox-Objekt geben, das ein Anonymus-Label-Objekt mit dem Namen der Person hinzufügt.
Das Problem: Jetzt möchte ich auf die anonyme Beschriftung in der VBox klicken und das Person-Objekt zurück erhalten.
Hier ist die Methode, eine Person
btnAddContact.setOnAction(e -> {
if (!"".equals(tfVorname.getText().toString())
&& !"".equals(tfNachname.getText().toString())) {
contactList.addContact(new Contact(tfVorname, tfNachname));
spContacts.setContent(refreshContactList());
primaryStage.setScene(scene);
primaryStage.show();
}
});
Die refreshContactList-Methode fügt die neue anonymus Etikett in die Kontaktliste (ein Arraylist) und zeigt den Namen auf dem Etikett hinzuzufügen:
private VBox refreshContactList() {
if (contactList.getContactList().size()>0) {
vbContacts.getChildren().add(new Label(contactList.getContactList().get(contactList.getContactList().size()-1).getVorname() + " " + contactList.getContactList().get(contactList.getContactList().size()-1).getNachname()));
}
return vbContacts;
}
Ich habe versucht, ein vbContacts.setOnMouseClicked ... zu programmieren, aber das einzige Objekt, das ich erhalten konnte, war die VBox.
Irgendwelche Ideen, wie man Zugang zu den Labes erhält?
Dank
Karl
Nur ein Kommentar: Sie könnten etwa [ 'ListView'] (https lernen wollen: //docs.oracle.com/javase/8/javafx/user-interface-tutorial/list-view.htm#CEGGEDBF). –