javafx 实现日期选择器,带有时分
来源:互联网 发布:js改变display样式 编辑:程序博客网 时间:2024/05/29 04:36
package util;
import javafx.scene.control.DatePicker;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.util.StringConverter;
/**
* 日期选择器
* @author 赵乔石
*
*/
public class DateTimePicker extends DatePicker {
private ObjectProperty<LocalTime> timeValue = new SimpleObjectProperty<>();
/* private ObjectProperty<ZonedDateTime> dateTimeValue;*/
private ObjectProperty<LocalDateTime> dateTimeValue;
public DateTimePicker(){
super();
setValue(LocalDate.now());
setTimeValue(LocalTime.now());
dateTimeValue=dateTimeValueProperty();
setConverter(new StringConverter<LocalDate>() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
@Override
public String toString ( LocalDate object ) {
return dateTimeValue.get().format(formatter);
}
@Override
public LocalDate fromString ( String string ) {
Date d=LocalDateConvert.getDate(string, "yyyy-MM-dd HH:mm");
timeValue.set(LocalDateConvert.UDateToLocalTime(d));
LocalDate ld=LocalDate.parse(string, formatter);
return LocalDate.parse(string, formatter);
}
});
}
/* @Override
protected Skin<?> createDefaultSkin () {
return new DateTimePickerSkin(this);
}*/
public LocalTime getTimeValue(){
return timeValue.get();
}
void setTimeValue(LocalTime timeValue){
this.timeValue.set(timeValue);
}
public ObjectProperty<LocalTime> timeValueProperty(){
return timeValue;
}
public LocalDateTime getDateTimeValue() {
return dateTimeValueProperty().get();
}
public void setDateTimeValue (LocalDateTime dateTimeValue) {
dateTimeValueProperty().set(dateTimeValue);
}
public ObjectProperty<LocalDateTime> dateTimeValueProperty(){
if (dateTimeValue == null){
dateTimeValue=new SimpleObjectProperty<LocalDateTime>(LocalDateTime.of(this.getValue(), timeValue.get()));
/* dateTimeValue = new SimpleObjectProperty<>(ZonedDateTime.of(LocalDateTime.of(this.getValue(), timeValue.get()), ZoneId.systemDefault()));*/
timeValue.addListener(t -> {
dateTimeValue.set(LocalDateTime.of(this.getValue(), timeValue.get()));
/* dateTimeValue.set(ZonedDateTime.of(LocalDateTime.of(this.getValue(), timeValue.get()), ZoneId.systemDefault()));*/
});
valueProperty().addListener(t -> {
dateTimeValue.set(LocalDateTime.of(this.getValue(), timeValue.get()));
/* dateTimeValue.set(ZonedDateTime.of(LocalDateTime.of(this.getValue(), timeValue.get()), ZoneId.systemDefault()));*/
});
}
return dateTimeValue;
}
}
import javafx.scene.control.DatePicker;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.util.StringConverter;
/**
* 日期选择器
* @author 赵乔石
*
*/
public class DateTimePicker extends DatePicker {
private ObjectProperty<LocalTime> timeValue = new SimpleObjectProperty<>();
/* private ObjectProperty<ZonedDateTime> dateTimeValue;*/
private ObjectProperty<LocalDateTime> dateTimeValue;
public DateTimePicker(){
super();
setValue(LocalDate.now());
setTimeValue(LocalTime.now());
dateTimeValue=dateTimeValueProperty();
setConverter(new StringConverter<LocalDate>() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
@Override
public String toString ( LocalDate object ) {
return dateTimeValue.get().format(formatter);
}
@Override
public LocalDate fromString ( String string ) {
Date d=LocalDateConvert.getDate(string, "yyyy-MM-dd HH:mm");
timeValue.set(LocalDateConvert.UDateToLocalTime(d));
LocalDate ld=LocalDate.parse(string, formatter);
return LocalDate.parse(string, formatter);
}
});
}
/* @Override
protected Skin<?> createDefaultSkin () {
return new DateTimePickerSkin(this);
}*/
public LocalTime getTimeValue(){
return timeValue.get();
}
void setTimeValue(LocalTime timeValue){
this.timeValue.set(timeValue);
}
public ObjectProperty<LocalTime> timeValueProperty(){
return timeValue;
}
public LocalDateTime getDateTimeValue() {
return dateTimeValueProperty().get();
}
public void setDateTimeValue (LocalDateTime dateTimeValue) {
dateTimeValueProperty().set(dateTimeValue);
}
public ObjectProperty<LocalDateTime> dateTimeValueProperty(){
if (dateTimeValue == null){
dateTimeValue=new SimpleObjectProperty<LocalDateTime>(LocalDateTime.of(this.getValue(), timeValue.get()));
/* dateTimeValue = new SimpleObjectProperty<>(ZonedDateTime.of(LocalDateTime.of(this.getValue(), timeValue.get()), ZoneId.systemDefault()));*/
timeValue.addListener(t -> {
dateTimeValue.set(LocalDateTime.of(this.getValue(), timeValue.get()));
/* dateTimeValue.set(ZonedDateTime.of(LocalDateTime.of(this.getValue(), timeValue.get()), ZoneId.systemDefault()));*/
});
valueProperty().addListener(t -> {
dateTimeValue.set(LocalDateTime.of(this.getValue(), timeValue.get()));
/* dateTimeValue.set(ZonedDateTime.of(LocalDateTime.of(this.getValue(), timeValue.get()), ZoneId.systemDefault()));*/
});
}
return dateTimeValue;
}
}
0 0
- javafx 实现日期选择器,带有时分
- flex 带有时分秒的日期组件
- bootstrap 带有时分秒的日期控件
- Swing实现日期选择器datepicker(带时分秒选择功能)
- Hibernate 保存带有时分秒的Oracle 数据库日期类型
- 带有开始日期和结束日期的日期选择器
- Android 自定义 弹框日期选择器 弹框,年月日,时分,
- js实现日期选择器
- js实现日期选择器
- 日期选择器的实现
- Oracle数据库中插入日期,日期带有时分秒(java.util.Date类型)
- Android 仿iOS带有星期几的日期时间选择器
- Extjs实现年月日时分秒格式的时间选择器
- Flash8-日期选择器的实现
- jquery实现的日期选择器
- 使用PickView实现日期选择器
- JS时分秒选择器
- JavaFX文件选择器FileChooser
- 消息机制--Handler
- 构建高并发高可用的电商平台架构实践
- HDOJ 1003 Java答案
- httpclient爬取网页
- VS2010下用C++编写图书管理小程序;(程序主要代码来自明日科技的书,但版本有差异,所以进行了部分调试和修改。)
- javafx 实现日期选择器,带有时分
- OpenGL学习脚印: 反走样初步(Anti-aliasing basic)
- Centos 6.0 Shadowsocks配置
- 固态硬盘安装流程
- Android屏幕适配
- ACdream 1068
- NOIP2012提高组解析
- 15 分钟学会使用 Git 和远程代码库
- C++ 类的静态成员详细讲解