JavaFX UI控件教程(七)之Checkbox
翻译自 Checkbox
本章教授如何向JavaFX应用程序添加复选框。
虽然复选框看起来类似于单选按钮,但它们不能组合到切换组中以便一次选择多个选项。有关详细信息,请参阅单选按钮和切换按钮章节。
图6-1显示了一个应用程序的屏幕截图,其中三个复选框用于启用或禁用应用程序工具栏中的图标。
创建复选框
例6-1创建了两个简单的复选框。
//A checkbox without a caption
CheckBox cb1 = new CheckBox();
//A checkbox with a string caption
CheckBox cb2 = new CheckBox("Second");cb1.setText("First");
cb1.setSelected(true);
定义一个国家
复选框可以是已定义的,也可以是未定义的。定义后,您可以选择或取消选择它。但是,如果未定义复选框,则无法选择或取消选中该复选框。使用类的setSelected
和setIndeterminate
方法的组合CheckBox
来指定复选框的状态。表6-1显示了基于其属性INDETERMINATE
和复选框的复选框的三种状态SELECTED
。
表6-1复选框的状态
属性值 | 复选框外观 |
---|---|
|
|
|
|
|
当应用程序中的复选框表示可处于混合状态的UI元素时,您可能需要为应用程序中的复选框启用三种状态,例如“是”,“否”,“不适用”。对象的allowIndeterminate
属性CheckBox
确定复选框是否应循环通过所有三种状态:selected,deselected和undefined。如果变量是true
,则控件将循环通过所有三个状态。如果是false
,控件将循环选择和取消选择状态。下一节中描述的应用程序构造了三个复选框,并且只为它们启用两个状态。
设置行为
示例6-2中的代码片段创建了三个复选框,这样,如果选中了复选框,则相应的图标将显示在工具栏中。
final String[] names = new String[]{"Security", "Project", "Chart"};
final Image[] images = new Image[names.length];
final ImageView[] icons = new ImageView[names.length];
final CheckBox[] cbs = new CheckBox[names.length];for (int i = 0; i < names.length; i++) {final Image image = images[i] =new Image(getClass().getResourceAsStream(names[i] + ".png"));final ImageView icon = icons[i] = new ImageView();final CheckBox cb = cbs[i] = new CheckBox(names[i]);cb.selectedProperty().addListener(new ChangeListener<Boolean>() {public void changed(ObservableValue<? extends Boolean> ov,Boolean old_val, Boolean new_val) {icon.setImage(new_val ? image : null);}});
}
图6-2显示了选择Security和Chart复选框并取消选中Project复选框时的应用程序。
设置复选框的样式
图6-2中的复选框具有类的默认外观CheckBox
。您可以使用该setStyle
方法更改复选框的外观,如例6-3所示。
cb1.setStyle("-fx-border-color: lightblue; "+ "-fx-font-size: 20;"+ "-fx-border-insets: -5; "+ "-fx-border-radius: 5;"+ "-fx-border-style: dotted;"+ "-fx-border-width: 2;"
);
新样式包括一个点缀浅蓝色边框和增加其文本标题的字体大小。图6-3显示了应用此样式的cb1复选框。
创建.css文件。
checkbox
在.css文件中创建CSS类。定义
checkbox
CSS类中的所有必需样式。在JavaFX应用程序中,使用该
setStyleClass
方法启用样式表。
相关的API文档
CheckBox
JavaFX CSS规范
JavaFX UI控件教程(七)之Checkbox相关推荐
- JavaFX UI控件教程(二)之JavaFX UI控件
翻译自 JavaFX UI控件 本章概述了通过API提供的JavaFX UI控件. JavaFX UI控件是使用场景图中的节点构建的.因此,控件可以使用JavaFX平台的视觉丰富功能.由于JavaF ...
- JavaFX UI控件教程(一)之简述
翻译自 JavaFX UI控件概述 关于本教程 本教程介绍JavaFX API中提供的内置JavaFX UI控件. 该文件包含以下章节: JavaFX UI控件 标签 按钮 单选按钮 切换按钮 复选 ...
- JavaFX UI控件教程(八)之Choice Box
翻译自 Choice Box 本章介绍了选项框,这些UI控件提供了在几个选项之间快速选择的支持. 使用ChoiceBox该类将选择框添加到JavaFX应用程序.其简单的实现如图7-1所示. 图7- ...
- JavaFX UI控件教程(二十八)之UI控件的自定义
翻译自 Customization of UI Controls 本章介绍了UI控件自定义的各个方面,并总结了Oracle提供的一些提示和技巧,以帮助您修改UI控件的外观和行为. 您可以通过应用层叠 ...
- JavaFX UI控件教程(二十一)之Tooltip
翻译自 Tooltip 在本章中,您将了解工具提示,即当鼠标光标悬停该控件时,可以为任何UI控件设置的控件. 的Tooltip类表示通常用于显示关于所述用户接口的控制附加信息的公共UI组件.可以通过 ...
- JavaFX UI控件教程(十六)之Separator
翻译自 Separator 本章介绍如何使用分隔符组织JavaFX应用程序的UI组件. SeparatorJavaFX API中可用的类表示水平或垂直分隔线.它用于划分应用程序用户界面的元素,不会产 ...
- JavaFX UI控件教程(二十二)之Titled Pane和Accordion
翻译自 Titled Pane and Accordion 本章介绍如何在JavaFX应用程序中使用accordion和title窗格的组合. 标题窗格是带标题的面板.它可以打开和关闭,它可以封装任 ...
- JavaFX UI控件教程(二十三)之Menu
翻译自 Menu 本章介绍如何创建菜单和菜单栏,添加菜单项,将菜单分组,创建子菜单以及设置上下文菜单. 您可以使用以下JavaFX API类在JavaFX应用程序中构建菜单. 菜单栏 菜单项 菜单 ...
- JavaFX UI控件教程(二十)之HTML Editor
翻译自 HTML Editor 在本章中,您将学习如何使用嵌入式HTML编辑器编辑JavaFX应用程序中的文本. 该HTMLEditor控件是一个功能齐全的富文本编辑器.它的实现基于HTML5的文档 ...
- JavaFX UI控件教程(十八)之Progress Bar和Progress Indicator
翻译自 Progress Bar and Progress Indicator 在本章中,您将了解进度指示器和进度条,以及可视化JavaFX应用程序中任何操作进度的UI控件. 本ProgressIn ...
最新文章
- 干货!Java 学习路线指南,看这文就够了!
- [转载] 淘宝旺铺扶植版如何添加背景音乐
- Java的三种代理模式简述
- 你一定不知道的 Linux 使用技巧
- python函数分为_python 函数
- SAP One Order redesign里的WebUI advanced search重构
- Chapter 3: 常用SQL * PLUS命令
- 经典公司小型局域网服务器架设方案
- fudanNLP-使用
- 人脸识别打卡机怎么调sj_人脸通怎么使用_人脸通考勤机怎么设置
- 优锘科技:物联森友会发布助物联网企业加速成长
- html5锚点平滑,使用锚点定位不改变url同时平滑的滑动到锚点位置,不会生硬的直接到锚点位置...
- 数数字(找规律+模拟)
- 视觉数据集是基于物体和风景标记的巨大的图像库
- leetcode-377:组合总和 Ⅳ
- 复旦大学2018--2019学年第二学期高等代数II期末考试情况分析
- 动态规划典型题之——矩阵链乘法
- kafka学习武林秘籍
- pandas使用goupby函数和nunique函数计算每个分组对应的多个变量的独特值的个数( unique values of each group in dataframe)
- 论文解读|存储集中化对多地点报童问题中预期成本的影响
热门文章
- 背包(二维数组版和一维数组版)
- map容器的使用 逆序遍历map容器当中的数据
- 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之上——原理与设计
- 高等数学上-赵立军-北京大学出版社-题解-练习5.7
- vscode python 自动补全_利用CodeBERT,这个VS Code扩展可以自动生成Python文档字符串...
- java程序员选择多个offer时需要看重哪些?_对不起,我们公司不要本科以下的大学生,学历对于程序员重不重要...
- HDU 6833 A Very Easy Math Problem
- 数列分块入门 (1 ~ 7)
- UVA11525 Permutation 逆康托展开
- P1131 [ZJOI2007] 时态同步