首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX-8在DatePicker编辑中的展示日

JavaFX-8在DatePicker编辑中的展示日
EN

Stack Overflow用户
提问于 2014-11-26 08:07:18
回答 1查看 247关注 0票数 0

是否有一种简单的方法可以在DatePicker的编辑器字段中显示日期?

比如“周三,2014年11月26日”而不仅仅是" 26.11.2014“?

诚挚的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-26 09:22:07

您需要更改日期选择器的默认格式化程序。为此,有一个适当的格式化程序:DateTimeFormatter。读一下吧,这里

对于您的请求,我们需要这样的模式:

代码语言:javascript
复制
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE, d.MM.uuuu", Locale.ENGLISH);

现在,我们可以设置自定义LocalDate转换器:

代码语言:javascript
复制
@Override
public void start(Stage primaryStage) {
    DatePicker datePicker=new DatePicker();
    datePicker.setValue(LocalDate.now());
    datePicker.setConverter(new StringConverter<LocalDate>() {

        @Override
        public String toString(LocalDate object) {
            return object.format(formatter);
        }

        @Override
        public LocalDate fromString(String string) {
            return LocalDate.parse(string, formatter);
        }
    });
    StackPane root = new StackPane(datePicker);
    Scene scene = new Scene(root, 400, 400);

    primaryStage.setScene(scene);
    primaryStage.show();
}

注意,格式化程序的工作方式有两种:当从弹出窗口中选择日期时,它将用toString()格式化它,以便在编辑器字段中显示它;当您编辑该字段以输入新的本地日期时,它将尝试将其解析为带有fromString()的有效的LocalDate。如果它无效,它将恢复上一个有效日期。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27144010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档