跳至主要内容

RadioButtonGroup

在 ChatGPT 中打开
23.01
Java API

RadioButtonGroup 管理一组 RadioButton 组件。在 RadioButtonGroup 中只能选择一个 RadioButton。当用户选中一个新的单选按钮时,组中之前选中的单选按钮会自动取消选中。

创建 RadioButtonGroup

RadioButtonGroup 渲染

RadioButtonGroup 组件不渲染 HTML 元素。它只提供逻辑,使 RadioButton 组件作为一个组而不是单独行为。

创建单独的 RadioButton 组件并将它们传递给 RadioButtonGroup 构造函数。组中的按钮一次只能选中一个。

显示代码

添加和删除 RadioButton 组件

您可以在 RadioButtonGroup 构造函数中包含 RadioButton 组件,以创建一个由提供组件组成的组。 要从现有的 RadioButtonGroup 中添加或删除 RadioButton,请使用 add()remove() 方法。

获取 RadioButton 的组

RadioButton 组件具有 getButtonGroup() 方法,该方法返回它所属的 RadioButtonGroup,如果没有组,则返回 null

嵌套 25.11

与其他组件一样,您可以在容器中嵌套 RadioButtonGroup,这样您就不必直接添加每个单独的 RadioButton

RadioButton agree = new RadioButton("同意");
RadioButton neutral = new RadioButton("中立");
RadioButton disagree = new RadioButton("不同意");

RadioButtonGroup group = new RadioButtonGroup("选择", agree, neutral, disagree);

Fieldset fieldset = new Fieldset("选项");
fieldset.add(group);

使用 RadioButtonGroupChangeEvent

每个 RadioButton 都可以拥有自己的事件监听器,以检测用户何时切换它。然而,使用 RadioButtonGroup 的一个优势是您可以使用一个单一的事件监听器,该监听器响应组中所有单选按钮的 RadioButtonGroupChangeEvent

为每个 RadioButton 添加事件监听器

agree.onValueChange(e -> changeEvent());
neutral.onValueChange(e -> changeEvent());
disagree.onValueChange(e -> changeEvent());

RadioButtonGroup 添加单一事件监听器

RadioButtonGroup group = new RadioButtonGroup("选择", agree, neutral, disagree);
group.onChange(e -> changeEvent());

以下示例来自 抽屉位置,它使用 RadioButtonGroupChangeEvent 自动更改 Drawer 组件的放置:

显示代码

命名

RadioButtonGroup 中的 name 属性将相关的单选钮组合在一起,允许用户从提供的选项中做出单一选择,并在单选按钮之间强制排他性。组的名称在 DOM 中没有反映,但对于 Java 开发人员来说是一个便捷的工具。