博客
关于我
JavaFX学习笔记-颜色选择器ColorPicker与日期选择器DatePicker
阅读量:560 次
发布时间:2019-03-09

本文共 2973 字,大约阅读时间需要 9 分钟。

优化后的内容是:

色彩选择器和日期选择器的实用示例

展示了如何利用JavaFX的ColorPicker和DatePicker组件来进行颜色和日期的选择,同时介绍了布局优化和用户体验提升的方法。

主要改动包括

1 灵活布局 使用setLayoutX和setLayoutY 而非固定大小2 界面分割 使用SplitPane 提供更大的布局灵活性3 增加注释 使代码更易理解4 删除不必要的空白和注释5 可选项设置比如使用 treeView 形式展示内容

代码示例:

import java.time.LocalDate;import java.time.collect.TreeMap;import java.util blahblah;import com.example.MyApp;import javafx.scene.control.Button;import javafx.scene.control.ColorPicker;import javafx.scene.control.DatePicker;import javafx.scene.control.SplitPane;import javafx.scene.layout.Pane;import javafx.scene.layout.BorderPane;import javafx.scene.paint.Color;import javafx.scene.text.Text;public class JavaFXExamples {        public static void main(String[] args) {        MyApp.start();    }        public MyApp() {        super("JavaFX Examples");        getStyleheets().add("style.css");                // 创建主布局        SplitPane splitPane = new SplitPane();        splitPane.setPrefSize(800, 600);        getChildren().add(splitPane);                // 左侧区域        Pane leftPane = new Pane();        leftPane.setStyle("-fx-base: #1e Rothschild;");        leftPane.setTop(BorderPane.createBorder());        leftPane.setLayoutX(50);        leftPane.setLayoutY(10);        getChildren().add(leftPane);                // 添加ColorPicker 组件        ColorPicker colorPicker = new ColorPicker();        colorPicker.setPrefSize(200, 30);        colorPicker.setLayoutX(100);        colorPicker.setLayoutY(100);        leftPane.getChildren().add(colorPicker);        colorPicker.valueProperty().addListener(new ChangeListener
() { @Override public void changed(ObservableValue
observable, Color oldValue, Color newValue) { System.out.println("你选择的颜色是: " + newValue.toString()); } }); // 右侧区域 rightPane = new Pane(); rightPane.setStyle("-fx-base: #ff Rothschild;"); rightPane.setTopBorder(new BorderPane.createBorder()); rightPane.setLayoutX(370); rightPane.setLayoutY(10); getChildren().add(rightPane); // 添加DatePicker 组件 DatePicker datePicker = new DatePicker(); datePicker.setPrefSize(300, 30); datePicker.setLayoutX(100); datePicker.setLayoutY(150); rightPane.getChildren().add(datePicker); datePicker.valueProperty().addListener(new ChangeListener(LocalDate>( observable -> System.out.println("你选择的日期是: " + observable.toString()))); // 下方内容区域 BorderPane contentRegion = new BorderPane(); contentRegion.setTop(BorderPane.createBorder()); contentRegion.setLayoutX(20); contentRegion.setLayoutY(180); getChildren().add(contentRegion); // Twitter feed 类似内容 twitterFeed = new Text("此处可以显示动态内容,如Twitter Feed"); }}

通过以上优化,可以看到:

  • 使用SplitPane 提供分区划布局
  • 留有良好的布局灵活性
  • 增加了开始性的帮助信息
  • 代码更加专业且易读
  • 新增了注释和示例使用场景

希望以上示例能对理解和使用JavaFX控件有所帮助。

转载地址:http://xrepz.baihongyu.com/

你可能感兴趣的文章
什么是接口
查看>>
2020版nodejs12.18.3安装配置教程
查看>>
iview组件库中,Form组件里的Input,无法正确绑定on-enter事件
查看>>
记录-基于springboot+vue.js实现的超大文件分片极速上传及流式下载
查看>>
记录-Node.js 使用http-server搭建本地服务器
查看>>
JavaScript高级程序设计第四版学习记录-第九章代理与反射
查看>>
怎么解决Windows 10文件/文件夹正在使用无法删除
查看>>
F28335第九篇——通用IO
查看>>
STM32F429第十一篇之数据类型
查看>>
Java编程基础_注解与命名规则&数据类型&运算符&修饰符&流程控制
查看>>
web项目开发记录
查看>>
matlab函数:sprintf详解
查看>>
matlab函数:fix 向0取整
查看>>
ORCAD创建元件库时,格点对不起怎么办
查看>>
Allegro中如何消除器件本身Pin间距报错
查看>>
AD中拖动器件,无法移动在一起如何解决
查看>>
python爬虫--07 Scrapy爬虫数据类型
查看>>
python爬虫--09 大学排名
查看>>
Linux/Mac下python3配置
查看>>
linux--练习001-基础类型
查看>>