Hallo zusammen,
ich habe eine Frage zu meiner ListView. Ich gebe über verschiedene Textfelder Werte ein, welche mit dem klick auf den Button "OK" in die ListView geschrieben(**.add()) werden.
Wenn ich den erstellten Eintrag aus der ListView anklicke wird dieser auch wieder in die Textfelder geschrieben. (wird gemacht um diese ggf. zu ändern). Wie kann ich es jetzt anstellen, das er beim Klick auf den Button OK keinen neuen anlegt, sondern den bestehenden ändert?
Gibt es eine edit/modify, was auch immer Methode, die den Eintrag ändert? Aktuell legt er durch das .add ja immer wieder einen neuen Eintrag an.
Danke für eure Hilfe!
ich habe eine Frage zu meiner ListView. Ich gebe über verschiedene Textfelder Werte ein, welche mit dem klick auf den Button "OK" in die ListView geschrieben(**.add()) werden.
Wenn ich den erstellten Eintrag aus der ListView anklicke wird dieser auch wieder in die Textfelder geschrieben. (wird gemacht um diese ggf. zu ändern). Wie kann ich es jetzt anstellen, das er beim Klick auf den Button OK keinen neuen anlegt, sondern den bestehenden ändert?
Gibt es eine edit/modify, was auch immer Methode, die den Eintrag ändert? Aktuell legt er durch das .add ja immer wieder einen neuen Eintrag an.
Danke für eure Hilfe!
Java:
listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Person>() {
public void changed (ObservableValue<? extends Person> ov, Person old_val, Person new_val) {
name.setText(new_val.getName());
vname.setText(new_val.getVorname());
str.setText(new_val.getStrasse());
plz.setText(new_val.getPlz());
ort.setText(new_val.getOrt());
alter.setText(new_val.getAlter());
if(new_val.getGeschlecht().equals("weiblich")) {
geschlechtWeiblich.setSelected(true);
} else {
geschlechtMaennlich.setSelected(true);
}
}
});
Java:
void clickOk(ActionEvent event) {
String geschlecht;
if(geschlechtMaennlich.isSelected()) {
geschlecht = "maennlich";
} else {
geschlecht = "weiblich";
}
ovList.add(new Person(name.getText(), vname.getText(), str.getText(), plz.getText(), ort.getText(), alter.getText(), geschlecht));
}