Java 从同一组中获取所有选定的切换按钮

Java 从同一组中获取所有选定的切换按钮,java,javafx,toggle,Java,Javafx,Toggle,我有3个切换按钮(FXML): 但是,在这种情况下,一次只能选择1个按钮,而不是2个或3个 如何从同一组中获取所有选定的切换按钮? 所以,基本上,与复选框的原理相同。您可以使用,并使用CSS使其看起来像一个单选按钮。 要获取所有选中的复选框,可以创建一个可观察的集合,如,并将侦听器分配给复选框,选中复选框时将其添加到集合中,取消选中时将其删除 ObservableSet<CheckBox> selectedCheckBoxes = FXCollections.observableSe

我有3个切换按钮(FXML):

但是,在这种情况下,一次只能选择1个按钮,而不是2个或3个

如何从同一组中获取所有选定的切换按钮? 所以,基本上,与复选框的原理相同。

您可以使用,并使用CSS使其看起来像一个单选按钮。 要获取所有选中的复选框,可以创建一个可观察的集合,如,并将侦听器分配给复选框,选中复选框时将其添加到集合中,取消选中时将其删除

ObservableSet<CheckBox> selectedCheckBoxes = FXCollections.observableSet();
CheckBox checkBox1 = new CheckBox();
checkBox1.selectedProperty().addListener((observable, oldValue, selectedNow) -> {
    if (selectedNow) {
        selectedCheckBoxes.add(checkBox1);
    } else {
        selectedCheckBoxes.remove(checkBox1);
    }
}); 
observateset selectedcheckbox=FXCollections.observateset();
CheckBox checkBox1=新复选框();
复选框1.selectedProperty().addListener((可观察,旧值,selectedNow)->{
如果(选择现在){
选中复选框。添加(复选框1);
}否则{
选中复选框。删除(复选框1);
}
}); 
您可以使用CSS将其设置为单选按钮。 要获取所有选中的复选框,可以创建一个可观察的集合,如,并将侦听器分配给复选框,选中复选框时将其添加到集合中,取消选中时将其删除

ObservableSet<CheckBox> selectedCheckBoxes = FXCollections.observableSet();
CheckBox checkBox1 = new CheckBox();
checkBox1.selectedProperty().addListener((observable, oldValue, selectedNow) -> {
    if (selectedNow) {
        selectedCheckBoxes.add(checkBox1);
    } else {
        selectedCheckBoxes.remove(checkBox1);
    }
}); 
observateset selectedcheckbox=FXCollections.observateset();
CheckBox checkBox1=新复选框();
复选框1.selectedProperty().addListener((可观察,旧值,selectedNow)->{
如果(选择现在){
选中复选框。添加(复选框1);
}否则{
选中复选框。删除(复选框1);
}
}); 

您似乎误解了切换组的目的。如果您希望能够选择至少2个
ToggleButton
,则它不应位于相同的
ToggleGroup
(如中所述,ToggleGroup的目的是管理单个选择切换)。您似乎误解了
ToggleGroup
的目的。如果您希望能够选择至少2个
ToggleButton
,则它不应位于相同的
ToggleGroup
(如中所述,ToggleGroup的目的是管理单个选择切换)。
ObservableSet<CheckBox> selectedCheckBoxes = FXCollections.observableSet();
CheckBox checkBox1 = new CheckBox();
checkBox1.selectedProperty().addListener((observable, oldValue, selectedNow) -> {
    if (selectedNow) {
        selectedCheckBoxes.add(checkBox1);
    } else {
        selectedCheckBoxes.remove(checkBox1);
    }
});