Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日期格式文本框_Java_Date_Formatting_Javafx - Fatal编程技术网

Java 日期格式文本框

Java 日期格式文本框,java,date,formatting,javafx,Java,Date,Formatting,Javafx,有没有一种方法可以让文本框使用dd/mm/yyyy格式进行验证,并且不允许使用任何其他字符?我已经设法验证了它,所以它只是数字,但有数字和斜杠被证明是一个问题 我正在使用JAVAFX。我创建了一个基于文本框的日期控件: 它允许您设置SimpleDataFormat支持的格式,并支持鼠标选择的弹出窗口 您还可以通过键入仅允许有效值来输入值,并使用箭头按钮浏览字段左和右将进行浏览,上和下将增加/减少 在github上的测试类中也可以找到一些示例代码: DatePicker picker = new

有没有一种方法可以让文本框使用dd/mm/yyyy格式进行验证,并且不允许使用任何其他字符?我已经设法验证了它,所以它只是数字,但有数字和斜杠被证明是一个问题


我正在使用JAVAFX。

我创建了一个基于文本框的日期控件: 它允许您设置SimpleDataFormat支持的格式,并支持鼠标选择的弹出窗口

您还可以通过键入仅允许有效值来输入值,并使用箭头按钮浏览字段左和右将进行浏览,上和下将增加/减少

在github上的测试类中也可以找到一些示例代码:

DatePicker picker = new DatePicker();

// you may not want the controls to manipulate time, they are on by default however
picker.setHideTimeControls(true);

// optional: the format you want the date to be in for the user
picker.formatProperty().setValue("yyyy/MM/dd HH:mm:ss.SSS");

// optional: set timezone
picker.timezoneProperty().setValue(TimeZone.getTimeZone("CET"));

// optional: set locale
picker.localeProperty().setValue(new Locale("nl"));

// react to changes
picker.timestampProperty().addListener(new ChangeListener<Long>() {
    @Override
    public void changed(ObservableValue<? extends Long> arg0, Long oldValue, Long newValue) {
        // do something
    }
});

我创建了一个基于文本框的日期控件: 它允许您设置SimpleDataFormat支持的格式,并支持鼠标选择的弹出窗口

您还可以通过键入仅允许有效值来输入值,并使用箭头按钮浏览字段左和右将进行浏览,上和下将增加/减少

在github上的测试类中也可以找到一些示例代码:

DatePicker picker = new DatePicker();

// you may not want the controls to manipulate time, they are on by default however
picker.setHideTimeControls(true);

// optional: the format you want the date to be in for the user
picker.formatProperty().setValue("yyyy/MM/dd HH:mm:ss.SSS");

// optional: set timezone
picker.timezoneProperty().setValue(TimeZone.getTimeZone("CET"));

// optional: set locale
picker.localeProperty().setValue(new Locale("nl"));

// react to changes
picker.timestampProperty().addListener(new ChangeListener<Long>() {
    @Override
    public void changed(ObservableValue<? extends Long> arg0, Long oldValue, Long newValue) {
        // do something
    }
});

DatePicker类扩展了TextField,因此您可以在任何地方使用它,并且可以使用TextField。当你用鼠标点击它时,弹出窗口被激活,但当它被聚焦时,你也可以让它弹出。这实际上是最初的情况,但我自己很少使用弹出窗口,所以我减少了它的干扰。在DatePicker类中,您可以在第185行看到单击时如何激活弹出窗口。您可以使用timestampProperty,这是一个由于不变性而变长的属性,或者您可以使用方便的方法DatePicker.setDate来设置自定义日期。还有一个setCalendar便利方法。请注意,后者也会更新时区,尽管您希望直观地禁用日期。否如果不更新控件本身,此时无法执行此操作。是的,现在可以使用DatePicker.filterProperty设置DateFilter对象。DateFilter是一个带有acceptDate接口的接口。测试文件中还包括一个示例。它将在视觉上禁用不可接受的日期,并防止用户在文本字段中手动输入。我很高兴您解决了这个问题。实际上我完全错过了你的css评论,但现在我不知道你的意思。这里提到的css文件在项目中可用,因此它应该在jfx-date-picker.jar文件中,并且可用。为什么要删除它?DatePicker类扩展了TextField,因此您可以在任何地方使用它,并且可以使用TextField。当你用鼠标点击它时,弹出窗口被激活,但当它被聚焦时,你也可以让它弹出。这实际上是最初的情况,但我自己很少使用弹出窗口,所以我减少了它的干扰。在DatePicker类中,您可以在第185行看到单击时如何激活弹出窗口。您可以使用timestampProperty,这是一个由于不变性而变长的属性,或者您可以使用方便的方法DatePicker.setDate来设置自定义日期。还有一个setCalendar便利方法。请注意,后者也会更新时区,尽管您希望直观地禁用日期。否如果不更新控件本身,此时无法执行此操作。是的,现在可以使用DatePicker.filterProperty设置DateFilter对象。DateFilter是一个带有acceptDate接口的接口。测试文件中还包括一个示例。它将在视觉上禁用不可接受的日期,并防止用户在文本字段中手动输入。我很高兴您解决了这个问题。实际上我完全错过了你的css评论,但现在我不知道你的意思。这里提到的css文件在项目中可用,因此它应该在jfx-date-picker.jar文件中,并且可用。为什么要移除它?