我有3个切换按钮(FXML):
org.asciidoctor.jruby.internal.AsciidoctorCoreException: org.jruby.exceptions.NoMethodError: (NoMethodError) undefined method `convert_inline_text' for #<Asciidoctor::Converter::Html5Converter:0x10b4e7f8>
Did you mean? convert_inline_button
convert_inline_quoted
convert_inline_menu
convert_inline_image
convert_inline_break
convert_inline_kbd
这些是用户可以选择或取消选择的几个选项。多选也应该是可能的。
为了获得所有选定的切换,我将它们放入一个切换组:
<ToggleButton fx:id="toggle1" text="Option 1" />
<ToggleButton fx:id="toggle2" text="Option 2" />
<ToggleButton fx:id="toggle3" text="Option 3" />
但是,在这种情况下,一次只能选择1个按钮,而不能选择2个或3个。
如何从同一组中获取所有选定的切换按钮? 因此,基本上,其原理与复选框相同。
答案 0 :(得分:2)
您可以使用CheckBox并使用CSS使其看起来像单选按钮。 要获取所有选中的复选框,您可以创建一个ObservableSet之类的可观察的集合,并将侦听器分配给该复选框,当选中一个复选框时,将其添加到该集合中,并在未选中该复选框时将其删除
ObservableSet<CheckBox> selectedCheckBoxes = FXCollections.observableSet();
CheckBox checkBox1 = new CheckBox();
checkBox1.selectedProperty().addListener((observable, oldValue, selectedNow) -> {
if (selectedNow) {
selectedCheckBoxes.add(checkBox1);
} else {
selectedCheckBoxes.remove(checkBox1);
}
});