Heyall, я работаю над этой формой, у которой есть вид сверху и текстовые поля с атрибутами объектов списка под ним.Я реализовал слушателей так, что если вы нажмете на один из объектов в списке, они заполнят соответствующие данные.Это работает для каждого текстового поля, и для моего ползунка возраста тоже.Но я борюсь с переключателями.
У меня они есть в моем контроллере:
@FXML
private RadioButton rb_m;
@FXML
private ToggleGroup geschlechtGroup;
@FXML
private RadioButton rb_w;
Это мое событие OnClickList:
@FXML
void clickList(ActionEvent event)
{
if(list.getSelectionModel().getSelectedItem().getGeschlecht().equals("Weiblich"))
rb_w.setSelected(true);
else
rb_m.setSelected(true);
tf_vn.setText(list.getSelectionModel().getSelectedItem().getVorname());
tf_nn.setText(list.getSelectionModel().getSelectedItem().getNachname());
tf_strasse.setText(list.getSelectionModel().getSelectedItem().getStrasse());
tf_plz.setText(list.getSelectionModel().getSelectedItem().getPlz());
tf_ort.setText(list.getSelectionModel().getSelectedItem().getWohnort());
label_age.setText(list.getSelectionModel().getSelectedItem().getAlter() + " ");
}
Поскольку текстовые полязаполнить, само событие clickList, похоже, работает правильно.Что меня действительно смущает, так это то, почему переключатели не проверяются.Проблема должна быть с if / else then.
Вот мой список:
ObservableList<Person> items = FXCollections.observableArrayList();
list.setItems(items);
items.add(new Person("Eva", "Becker", "Lorenzstrasse 20", "95028",
"Hof", "Weiblich", 44));
items.add(new Person("Max", "Schmitt", "Testallee 5", "81245",
"München", "Maennlich", 24));
list.getSelectionModel().selectedItemProperty().addListener((v,oldValue, newValue) -> tf_vn.setText(newValue.getVorname()));
list.getSelectionModel().selectedItemProperty().addListener((v,oldValue, newValue) -> tf_nn.setText(newValue.getNachname()));
list.getSelectionModel().selectedItemProperty().addListener((v, oldValue, newValue) -> tf_strasse.setText(newValue.getStrasse()));
list.getSelectionModel().selectedItemProperty().addListener((v, oldValue, newValue) -> tf_plz.setText(newValue.getPlz()));
list.getSelectionModel().selectedItemProperty().addListener((v,oldValue, newValue) -> tf_ort.setText(newValue.getWohnort()));
list.getSelectionModel().selectedItemProperty().addListener((v, oldValue, newValue) -> label_age.setText(" " + newValue.getAlter()));
list.getSelectionModel().selectedItemProperty().addListener((v,oldValue, newValue) -> sliderAge.setValue(newValue.getAlter()));
И, конечно, у моего личного класса есть метод getGeschlecht, который возвращает гендерную строку.Должен ли мой блок равных, если работать правильно тогда?Я искал несколько часов, и я просто не могу понять, в чем проблема.