做网站哪家比较好,潍坊网站建设哪家便宜,深圳本地招聘网,找工程去哪个网站翻译自 Radio Button
本章讨论单选按钮控件和RadioButton类#xff0c;该类的一个专门实现ToggleButton。
可以选择或取消选择单选按钮控件。通常#xff0c;单选按钮组合成一个组#xff0c;其中一次只能选择一个按钮。此行为将它们与切换按钮区分开来#xff0c;因为组…翻译自 Radio Button
本章讨论单选按钮控件和RadioButton类该类的一个专门实现ToggleButton。
可以选择或取消选择单选按钮控件。通常单选按钮组合成一个组其中一次只能选择一个按钮。此行为将它们与切换按钮区分开来因为组中的所有切换按钮都可以处于取消选择状态。
图4-1显示了RadioButton样本的三个屏幕截图其中三个单选按钮添加到一个组中。 图4-1 RadioButton示例 请阅读以下段落以了解有关如何在应用程序中实现单选按钮的更多信息。 创建单选按钮
JavaFX SDK包中提供的RadioButton类提供javafx.scene.control了两个构造函数您可以使用它们创建单选按钮。例4-1显示了两个单选按钮。没有参数的构造函数用于创建rb1。此单选按钮的文本标题是使用该setText方法设置的。rb2的文本标题在相应的构造函数中定义。 例4-1创建单选按钮
//A radio button with an empty string for its label
RadioButton rb1 new RadioButton();
//Setting a text label
rb1.setText(Home);
//A radio button with the specified label
RadioButton rb2 new RadioButton(Calendar);
您可以使用该setSelected方法显式选择一个单选按钮并将其值指定为true。如果需要检查用户是否选择了特定的单选按钮请应用该isSelected方法。
由于RadioButton该类是类的扩展因此Labeled您不仅可以指定文本标题还可以指定图像。使用该setGraphic方法指定图像。示例4-2演示了如何在应用程序中实现图形单选按钮。 示例4-2创建图形单选按钮
Image image new Image(getClass().getResourceAsStream(ok.jpg));
RadioButton rb new RadioButton(Agree);
rb.setGraphic(new ImageView(image)); 向组添加单选按钮
单选按钮通常用于组中以呈现多个互斥选项。该ToggleGroup对象提供对与其关联的所有单选按钮的引用并对其进行管理以便一次只能选择一个单选按钮。例4-3创建一个切换组创建三个单选按钮将每个单选按钮添加到切换组并指定应用程序启动时应选择哪个按钮。 示例4-3创建一组单选按钮
final ToggleGroup group new ToggleGroup();RadioButton rb1 new RadioButton(Home);
rb1.setToggleGroup(group);
rb1.setSelected(true);RadioButton rb2 new RadioButton(Calendar);
rb2.setToggleGroup(group);RadioButton rb3 new RadioButton(Contacts);
rb3.setToggleGroup(group);
当使用布局容器布置这些单选按钮并将其添加到应用程序的内容时输出应类似于图4-2。 图4-2组合中的三个单选按钮 处理单选按钮的事件
通常应用程序在选择组中的某个单选按钮时执行操作。查看示例4-4中的代码片段了解如何根据选择的单选按钮更改图标。 示例4-4单选按钮的处理操作
ImageView image new ImageView();rb1.setUserData(Home)
rb2.setUserData(Calendar);
rb3.setUserData(Contacts);final ToggleGroup group new ToggleGroup();
group.selectedToggleProperty().addListener(new ChangeListenerToggle(){public void changed(ObservableValue? extends Toggle ov,Toggle old_toggle, Toggle new_toggle) {if (group.getSelectedToggle() ! null) {final Image image new Image(getClass().getResourceAsStream(group.getSelectedToggle().getUserData().toString() .jpg));icon.setImage(image);} }
});
为每个单选按钮分配了用户数据。该ChangeListenerToggle对象检查组中的选定切换。它使用该getSelectedToggle方法来识别当前选择的单选按钮并通过调用该getUserData方法来提取其用户数据。然后应用用户数据来构造要加载的图像文件名。
例如当选择rb3时该getSelectedToggle方法返回“rb3”该getUserData方法返回“Contacts”。因此该getResourceAsStream方法接收值“Contacts.jpg”。应用程序输出如图4-1所示。 请求聚焦单选按钮
在单选按钮组中默认情况下第一个按钮最初具有焦点。如果将该setSelected方法应用于组中的第二个单选按钮则应该会得到如图4-3所示的结果。 图4-3默认焦点设置 选择第二个单选按钮第一个按钮保持对焦。使用该requestFocus功能更改焦点如例4-5所示。 例4-5请求第二个单选按钮的焦点
rb2.setSelected(true);
rb2.requestFocus();
应用时此代码生成如图4-4所示的结果。 图4-4设置所选单选按钮的焦点 相关的API文档 RadioButton Labeled ToggleGroup