Группа переключателей JavaFx T1 и T2
Я пытаюсь реализовать несколько параметров переключения в двух отдельных vbox T1 и T2.с макетом это выглядит хорошо, но с точки зрения функциональности я наблюдаю, что первые две опции T1 реплицируются с T2, т.е. всякий раз, когда я выбираю NONE / PIANO в T1 - CHOIR / ASDF выбираются автоматически и наоборот.Я хочу, чтобы варианты для T1 и T2 выбирались независимо.Ниже приведен код реализации
for(int m = 0; m < category.getOneOptionProperties().size(); m++) {
VBox vbox = new VBox();
ToggleGroup group = new ToggleGroup();
vbox.setStyle("-fx-border-color: black; -fx-background-color: white;");
// System.out.println("category.getOneOptionProperties().size()::"+category.getOneOptionProperties().size());
// System.out.println("category.getOneOptionProperties().get(m).getOptions().size()::"+category.getOneOptionProperties().get(m).getOptions().size());
for(int j = 0; j < category.getOneOptionProperties().get(m).getOptions().size(); j++) {
RadioButton box = new RadioButton(category.getOneOptionProperties().get(m).getOptions().get(j).getName());
box.setPadding(new Insets(10, 30, 10, 10));
box.setToggleGroup(group);
if(category.getOneOptionProperties().get(0).getChoosenId() == j ) {
box.setSelected(true);
}
vbox.getChildren().add(box);
}
hbox.getChildren().add(vbox);
group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,Toggle old_toggle, Toggle new_toggle) {
if (group.getSelectedToggle() != null) {
String selectedToggle = ((RadioButton)group.getSelectedToggle()).getText();
for(int i=0; i<ctrl.getCategories().size(); i++) {
for(int k=0; k<category.getOneOptionProperties().get(0).getOptions().size(); k++) {
if(ctrl.getCategories().get(i).getTitle().equalsIgnoreCase(idToName(selectedButtonId))) {
if(category.getOneOptionProperties().get(0).getOptions().get(k).getName().equals(selectedToggle)) {
state.getActiveMusicalEnvironment().getActiveMode().getMusicControls().getCategories().get(i).getOneOptionProperties().get(0).setChoosenId(k);
FSGuiCommunications.ctrlSendStateOSC(state);
break;
}
}
}
}
}
}
});