本章重点内容

介绍JavaFX常用输入控件,从 GitHub 或 Gitee下载详细demo代码。

按钮、单选框、复选框等

适用范围

根据官方文档 javafx.scene.control 编写,适合偷懒不想看文档的小伙伴。

------------------------------- 分割线 -------------------------------

Button 按钮

按钮
// 简单按钮
Button btn = new Button("Click me");
btn.setOnAction((e) -> System.out.println(e.getTarget().toString()));
// 带选型图案的按钮
Circle circle = new Circle();
circle.setRadius(8.0f);
Button circleBtn = new Button("带圆形图案的按钮", circle);
circleBtn.setOnAction((e) -> System.out.println(e.getTarget().toString()));

ButtonType 按钮类型

按钮类型
// OK按钮类型
ButtonType bt = new ButtonType("ButtonType Control", ButtonBar.ButtonData.OK_DONE);
// 添加到 Alert
Alert alert = new Alert(Alert.AlertType.INFORMATION, "ButtonType Control", bt);
alert.show();

CheckBox 复选框

复选框
// 勾选
CheckBox box1 = new CheckBox("复选框,默认勾选");
box1.setSelected(true);
// 不勾选
CheckBox box2 = new CheckBox("复选框,默认不勾选");
box2.setSelected(false);
// 待定
CheckBox box3 = new CheckBox("复选框,待定");
box3.setAllowIndeterminate(true);
box3.setIndeterminate(true);

CheckBoxTree 复选框树

CheckBoxTree
// 选项
CheckBoxTreeItem<String> aliItem = new CheckBoxTreeItem<>("阿里巴巴");
CheckBoxTreeItem<String> qqItem = new CheckBoxTreeItem<>("腾讯");
CheckBoxTreeItem<String> baiduItem = new CheckBoxTreeItem<>("百度");
CheckBoxTreeItem<String> netItem = new CheckBoxTreeItem<>("互联网企业");
// 设置父子级
netItem.setExpanded(true);
netItem.getChildren().addAll(aliItem, qqItem, baiduItem);
// 设置根节点
final TreeView<String> treeView = new TreeView<>();
treeView.setRoot(netItem);
treeView.setCellFactory(CheckBoxTreeCell.forTreeView());
// 点击事件
aliItem.addEventHandler(CheckBoxTreeItem.checkBoxSelectionChangedEvent(), (event) ->System.out.println("是否选择阿里巴巴:" + event.getTreeItem().isSelected())
);

ChoiceBox 选择框

选择框
// 字符串选择框
ChoiceBox<String> box = new ChoiceBox<>();
// 添加选项
box.getItems().addAll("item 1", "item 2", "item 3");
// 选择事件
box.setOnAction((e) -> System.out.println(box.getValue()));

ColorPicker 取色器

取色器
// 取色器
ColorPicker picker = new ColorPicker();
// 获取颜色后的 RGB
picker.setOnAction(e -> {Color color = picker.getValue();System.out.println("获取到的颜色RGB=(" + color.getRed() + "," + color.getGreen() + "," + color.getBlue() + ")");
});

ComboBox 组合框

组合框
// 组合框
ComboBox<Rectangle> cmb = new ComboBox<>();
// 添加选项
cmb.getItems().addAll(new Rectangle(10, 10, Color.RED),new Rectangle(10, 10, Color.GREEN),new Rectangle(10, 10, Color.BLUE)
);

DatePicker 日期选择器

// 添加日期选择器
DatePicker picker = new DatePicker();
picker.setOnAction(e -> System.out.println("Selected date:" + picker.getValue()));

Hyperlink 超链接

Hyperlink link =new Hyperlink("www.damengsanqian.com");

Label 标签

Label label = new Label("标签 Label");

PasswordField 密码框

PasswordField passwordField = new PasswordField();
passwordField.setText("password666");

ProgressBar 进度条

// 进度条
ProgressBar bar = new ProgressBar();
// 进度指示器
ProgressIndicator pi = new ProgressIndicator();
// 进度为小数
bar.setProgress(0.67F);
pi.setProgress(0.67F);

RadioButton 单选按钮

// 单选按钮
RadioButton btn1=new RadioButton("选项 1");
RadioButton btn2=new RadioButton("选项 2");
RadioButton btn3=new RadioButton("选项 3");
// 该分组仅为切换分组,即值的切换,并不代表界面中的定位
ToggleGroup group=new ToggleGroup();
btn1.setToggleGroup(group);
btn2.setToggleGroup(group);
btn3.setToggleGroup(group);
// 将“选项 3”设置为默认选中
btn3.setSelected(true);
// 单选按钮的定位,以GridPane举例
GridPane root = new GridPane();
root.add(btn1, 0, 0);
root.add(btn2, 0, 1);
root.add(btn3, 0, 2);

ScrollBar 滚动条

ScrollBar bar = new ScrollBar();
// 垂直滚动条
bar.setOrientation(Orientation.VERTICAL);

Separator 分隔符

// 标签
Label l1 = new Label("标签 1");
Label l2 = new Label("标签 2");
Label l3 = new Label("标签 3");
// 水平分割线
Separator separator = new Separator(Orientation.HORIZONTAL);
// 在“标签 1”和“标签 2”之间加分割线
VBox box = new VBox(l1, separator, l2, l3);

Slider 滑竿

// 第一个参数最小值,第二个参数为最大值,第三个参数为当前值
Slider slider = new Slider(1, 10, 6);
// 设置刻度
slider.setShowTickMarks(true);
slider.setShowTickLabels(true);
slider.setMajorTickUnit(1);
slider.setBlockIncrement(0.5f);

Spinner 微调器/步进器

Spinner spinner = new Spinner(0, 10, 5);

SplitMenuButton 菜单按钮

SplitMenuButton btn = new SplitMenuButton();
btn.setText("菜单按钮");
btn.getItems().addAll(new MenuItem("菜单项 1"), new MenuItem("菜单项 2"));

TextArea 文本区域

String text = "Text input component that allows a user to enter multiple lines of plain text. "+ "Unlike in previous releases of JavaFX, support for single line input is not available "+ "as part of the TextArea control, however this is the sole-purpose of the TextField control. "+ "Additionally, if you want a form of rich-text editing, there is also the HTMLEditor control.";
TextArea textArea = new TextArea(text);
// 自动换行
textArea.setWrapText(true);

TextFirld 文本框

TextField textField = new TextField("文本框");

ToggleButton 切换按钮

// 切换按钮
ToggleButton tb1 = new ToggleButton("切换按钮 1");
ToggleButton tb2 = new ToggleButton("切换按钮 2");
ToggleButton tb3 = new ToggleButton("切换按钮 3");
// 添加组,仅表示切换,不表示定位
ToggleGroup group = new ToggleGroup();
tb1.setToggleGroup(group);
tb2.setToggleGroup(group);
tb3.setToggleGroup(group);
// 添加到面板中
GridPane grid = new GridPane();
grid.add(tb1, 0, 1);
grid.add(tb2, 0, 2);
grid.add(tb3, 0, 3);

axure日期选择器控件_JavaFX 控件 - 输入 (Control - Inputs)相关推荐

  1. axure日期选择器组件_vue干货分享,超过六种组件通信方法讲解和精髓归纳

    好消息:为了更好的规划和组织内容,今后每期内容之后能将预告下期的主题,欢迎大家补充 组件的分类 常规页面组件,由 vue-router 产生的每个页面,它本质上也是一个组件(.vue),主要承载当前页 ...

  2. axure日期选择器组件_Vue原理解析(十):搞懂事件API原理及在组件库中的妙用

    在vue内部初始化时会为每个组件实例挂载一个this._events私有的空对象属性: vm._events = Object.create(null) // 没有__proto__属性 这个里面存放 ...

  3. js日期控件_11个开源的Github开源日期选择器组件,供你选择

    介绍 本文主要介绍几个Vue的时间日期选择器组件,目的在于让开发者们多一些选择,不管是从功能还是从样式,都可以选择一个适合的组件,这些组件没有绝对的好与不好,就看个人如何选择了,以下分别介绍十一个日期 ...

  4. 如何使用Dojo的DatePicker控件制作联动日期选择器

    在开发系统的调查功能时,需要设计一个可以联动的开始日期/结束日期选择器用来设定用户的调查的起始/结束日期.对于这个联动的日期选择器,我们的设计要求是这样的: 在新增调查时,该调查的开始日期默认为今天, ...

  5. vue【element ui】el-date-picker 日期选择器控件 限制可选的开始时间和结束时间

    项目场景: 总结一下日期控件实现开始日期.结束日期的选择范围限制,以便更符合实际情况. 需求: 1.开始时间和结束时间都不能选当前日期之后的时间.(当前时间:2022年5月16日) 2.先选开始时间的 ...

  6. flutter 类似日期选择器控件_一切皆组件的Flutter,安能辨我是雄雌

    从一开始接触Flutter,相信读者都会铭记一句话,那就是--一切皆组件.今天我们就来体会一下这句话的神奇魔力,我们先从实际的产品需求说起. 我们先来看一个简化的运行图: 我们要实现如上图所示的日期选 ...

  7. html时间选择控件 简书,flatpickr好看的日期选择器插件

    百度盘链接: https://pan.baidu.com/s/1c2GRktU 密码: jf3v (主要需要的都在dist这个文件夹内) 1.导入日期选择器的css样式(底部有各种颜色对应的样式) d ...

  8. html时间选择器时分秒,原生js日历日期控件带时分秒日期选择器

    特效描述:原生js日历日期 时分秒日期选择器.时分秒日期选择 代码结构 1. 引入JS 2. HTML代码 [注意事项] 一.请千万勿移动laydate中的目录结构,它们具有完整的依赖体系.使用时,只 ...

  9. 日期DatePicker与时间TimePicker控件

    在AndroidApp应用中,设置日期和时间时间也是经常遇见的,下面我们一起学习一下. 我们需要学习Android中的基本控件:(1)日期选择控件DatePicker (2)时间选择控件TimePic ...

最新文章

  1. CVPR 2020: 移动端机器学习的研究实现
  2. 【Eclipse】将控制台输出直接保存到文本文件
  3. kubernetes英语怎么读_陷阱英语单词怎么读?
  4. [js] 用js写一个方法检测浏览器是否支持css3的属性
  5. 从面试的这些细节就可判断公司的好坏
  6. 信息学奥赛C++语言:顺序输出
  7. 属性绑定与双向数据绑定
  8. [转载] Python字符串解析
  9. ms17-010 php版本,Windows系统SMB漏洞ms17-010补丁下载!
  10. 群控源码源代码,微群控系统源码的实现原理,核心源码实现 核心框架,可二次开发
  11. 研究生论文写作心得体会
  12. 你弄懂了Spark的Shuffle实现方式吗?手把手带你解析Spark的Sort Shuffle和Tungsten-Sort Shuffle
  13. PS批量处理批量裁减不同尺寸图片教程(超详细教程 非常实用)-photoshop
  14. nginx: [warn] conflicting server name locahost on 0.0.0.0:80, ignored
  15. 用matlab做二阶电路分析,MATLAB绘制二阶电路响应
  16. H264 无损压缩及编解码流程
  17. ARM 编译工具keil 和 IAR 命令行编译和下载
  18. 使用Python批量下载哨兵一号(sentinel-1)的精密轨道数据(precise orbit data)
  19. 封装前端UI组件库--button
  20. 如何查找APP漏洞并渗透测试 解决网站被黑客攻击

热门文章

  1. 小明分享:8ms平台入门教程
  2. ipad鼠标怎么把圆圈换成箭头_高度融合,让iPad更像笔记本的金属键盘
  3. python程序实现双向链表_数据结构-双向链表(Python实现)
  4. 前15天mysql_Mysql查询今天/昨天/15天前/上个月/去年/上周每日等函数
  5. c 对一个mysql数据库进行操作_C/C++对MySQL操作
  6. 【Java】Struts2配置默认Action和配置Action的默认处理类
  7. bitset中_Find_first()与_Find_next()函数
  8. [No0000130]WPF 4.5使用标记扩展订阅事件
  9. sublime Text 3 安装emmet
  10. 【ARM】ARM体系结构-GPIO