更改 JavaFX 8 DatePicker 中的语言

2023-12-07

将 DatePicker 添加到我的应用程序时,我得到以下信息:

DatePicker

我认为这是因为我在计算机上使用希伯来语。 如何将 DatePicker 的语言更改为英语?


您可以为 Java 虚拟机调用实例定义默认区域设置:

Locale.setDefault(Locale.ENGLISH);

或者,如果您找不到区域设置,则需要在预制常量中,可以在列表中查找国家/地区代码官方支持的语言环境并创建您的“自定义”区域设置,如下所示:

Locale.setDefault(Locale("cs")) //locale for Czech language

on the start方法。如果您还想为文本编辑器实现自定义格式化程序,则也应该向格式化程序添加区域设置。

这只是一个例子:

private final DateTimeFormatter formatter = 
        DateTimeFormatter.ofPattern("EEEE, d.MM.uuuu", Locale.ENGLISH);

@Override
public void start(Stage primaryStage) {
    Locale.setDefault(Locale.ENGLISH);

    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();
}

EDIT

通过设计,DatePicker uses Locale.getDefault()应用于弹出窗口上显示的控件的所有格式。这个可以查com.sun.javafx.scene.control.skin.DatePickerContent class.

除非您为更改这些格式化程序的控件提供自定义皮肤,以便更改DatePicker内容为英语,避免其他本地化控件的进一步更改,解决方法可能是这样的:

private final Locale myLocale = Locale.getDefault(Locale.Category.FORMAT);

@Override
public void start(Stage primaryStage) {
    DatePicker datePicker=new DatePicker();
    datePicker.setValue(LocalDate.now());
    datePicker.setOnShowing(e-> Locale.setDefault(Locale.Category.FORMAT,Locale.ENGLISH));
    datePicker.setOnShown(e-> Locale.setDefault(Locale.Category.FORMAT,myLocale));
    ...
}

EDIT 2

返回到原始语言环境setOnShown太早了,因为如果用户更改月份,则会使用原始区域设置,并且不会正确显示。要工作,应同时关闭setOnHiding and on setOnAction.

private final Locale myLocale = Locale.getDefault(Locale.Category.FORMAT);

@Override
public void start(Stage primaryStage) {
    DatePicker datePicker=new DatePicker();
    datePicker.setValue(LocalDate.now());
    datePicker.setOnShowing(e-> Locale.setDefault(Locale.Category.FORMAT,Locale.ENGLISH));
    datePicker.setOnHiding(e-> Locale.setDefault(Locale.Category.FORMAT,myLocale));
    datePicker.setOnAction(e-> Locale.setDefault(Locale.Category.FORMAT,myLocale));
    ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 JavaFX 8 DatePicker 中的语言 的相关文章

  • JavaFX - 当文本字段具有焦点时加速器不工作

    在我的应用程序中 我有一个使用加速器的屏幕 我正在使用功能键 F3 在我的应用程序中执行操作 它每次都工作正常 但是当我单击此屏幕上的任何文本字段时 功能键不会执行 这是我设置加速器的代码 scene getAccelerators put
  • JavaFX:使用常量字符串前缀绑定 StringProperty

    我对 JavaFX 中的绑定功能有疑问 我想要的是绑定 2 个字符串属性 但他们的价值观不应该是平等的 让我举个例子 我有一个 StringProperty 代表我的应用程序中最后打开的项目 该值类似于 C temp myProject p
  • JavaFX TabPane 禁用按键切换选项卡

    我有一个Tab有一些内容 ScrollBar和别的 The ScrollBar has event handler for keys left and right 但如果我按下这些按钮Tabs被切换 因为TabPane还有一个密钥处理程序
  • JFrame 中的 JavaFX 菜单

    我想在 JFrame 中使用 JavaFX 菜单 我使用 JFXPanel 嵌入它 并且它在 JFrame 中可见 但是 问题是 菜单项不响应鼠标 我可以单击菜单 但不能单击菜单项 如果我使用键盘选择 MenuItem 并按 Enter 键
  • 在模块路径上使用 OpenJFX 11 JMODS 在 JDK 11 上运行 javafx 示例

    我已经从 OpenJFX 项目下载了 JavaFX Jmod 文件并将它们放在目录中G openjfx javafx jmods 11 我使用的是 OpenJDK 11 其中没有 JavaFX jmodJAVA HOME jmods即它不附
  • JavaFX Integer Spinner (IntegerSpinnerValueFactory) 不会将值回绕到最小值

    我创建了一个带有值的整数微调器 min 5 max 15 and initialValue 12 and wrapAround true 一旦旋转器到达max 15 增量期间的值 而不是将值重置为min 5 正如它所说文档 https op
  • Javafx 拖放 TabPane

    我 在 JavaFx 应用程序中 有一个带有不同选项卡的选项卡 我想实现拖放功能以将选项卡拖到舞台之外 这样它就可以生成一个新窗口 就像在 Google Chrome 中一样 谢谢您的帮助 您应该检查 Tom Schindl 在他的网站上显
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • JavaFX 抛出 ArrayIndexOutOfBoundsException

    我正在尝试使用 JavaFX 标签和组 通过鼠标拖动将它们移动到屏幕上 新节点从某些线程添加到动画组中 然而 有时我会突然看到以下异常 我假设 当某些节点重叠时 但我不知道问题是什么 因为我的代码不涉及 有谁知道这个异常和根本原因 使用JD
  • 如何让我的程序等到 JavaFX 窗口关闭后再继续?

    我有一个显示结果条形图的程序 我想等到用户关闭条形图才能继续执行下一行代码 该代码询问他们是否要为图表输入新信息 Scene scene BarGraph getBarChart primaryStage setScene scene pr
  • JavaFX:在 WebView img 标签中未加载本地图像

    以下是我的代码 一切安好 我可以加载远程页面 我可以放置 HTML 内容 但我的img标签显示一个X标志表示无法加载图像 Note 我的图像与类位于同一个包中JavaFX在 Smiley 文件夹中 我可以列出所有图像 这意味着路径没有问题
  • 在 IntelliJ 中创建可执行 JAR(Java 18、JavaFX 18 Maven 项目),“警告:不支持的 JavaFX 配置...”

    我有一个 Java 18 JavaFX 18 Maven 项目 除了 javaFX 库之外 它还有很多库需要包含在工件中 我想创建一个工件 一个 jar 其中包含所有依赖项 我开始按照这个视频来创建 jar https www youtub
  • 如何更改角度驱动引导程序 ngbDatepicker 的模型结构

    我在用角度驱动引导 ngbDatepicker https ng bootstrap github io components datepicker examples 我创建了自己的自定义控件 该控件将在不同页面中用于日期捕获 如下所示
  • 在javafx中加载多个fxml

    我已经寻找了一段时间 但一直没能得到我想做的事情 我一直在使用 javafx 框架在这个线程中的 javafx 中切换 fxml 在同一场景中加载新的 fxml https stackoverflow com questions 18619
  • 使用 jQuery datepicker 创建特定日期范围

    我正在尝试使用 jQuery 日期选择器来创建开始日期日历和结束日期日历 我正在使用此处看到的 日期范围 示例 http jqueryui com demos datepicker date range http jqueryui com
  • 无法填充在 SceneBuilder 2 中创建的 JavaFX TableView

    我正在尝试重新创建表视图示例 http docs oracle com javafx 2 ui controls table view htm使用场景生成器 2 但无法填充我的 TableView 我在 JavaFx SceneBuilde
  • 如何隐藏TabPane中的TabBar?

    我正在尝试使用构建下一个 上一个窗口TabPane 我决定使用TabPane因为它易于使用和设计场景生成器 在应用程序启动时 我用它来隐藏TabBar目前 tabPane setTabMinHeight 10 tabPane setTabM
  • 如何裁剪 JavaFX 图像并调整其大小?

    我正在尝试在 JavaFX 画布上显示非常大的图像 单张图像的分辨率为11980x8365 每个图像都有一个相应的世界文件 我可以使用它来正确定位图像 我的画布尺寸是 800x600 有时我需要在画布上写下整个图像 有时只是其中的一部分 这
  • Java:作为 JAR 运行时的文件路径

    我有一个 Java JavaFX 项目 我在其中使用样式表 样式表中的图像将按如下方式加载 pane fx background image url packagename image jpg 当我从 Eclipse 或 Scenebuil
  • 如何创建具有同等时间元素的 JavaFX 转换?

    我正在尝试 JavaFX 和动画 尤其是PathTransition 我正在创建一个简单的程序 使球 弹跳 而不使用QuadCurveTo班级 到目前为止 这是我的代码 Ellipse ball new Ellipse 375 250 10

随机推荐

  • 带标签的按钮

    如何获取带有特定标签的按钮 id 喜欢然后将其转换为 UIButton 并更改 alpha UIButton button UIButton self view viewWithTag tag button alpha 0 5
  • gem install debugger -v '1.5.0' 失败

    我正在尝试做bundle在 Mavericks 的大型项目中 尽管这是 rbenv 的全新安装 但一些 gem 已损坏或我的环境出现问题 gem install debugger v 1 5 0 Building native extens
  • 是否可以在不刷新整个页面的情况下加载页面内容

    实际上我想刷新页面内容而不通过 JavaScript 或 j Query 刷新整个页面 并且我将整个项目放入 Php 或 javaScript 所以我面临此类问题 Note i want to refresh my page content
  • 在 kernel_fpu_end 之前调用 kernel_fpu_begin 两次

    我正在使用kernel fpu begin and kernel fpu end功能于asm i387 h保护 Linux 内核模块内一些简单浮点运算的 FPU 寄存器状态 我很好奇调用的行为kernel fpu begin之前函数两次ke
  • 在 Windows 上,_fseeki64 无法正确查找大文件的 SEEK_END

    我已将问题简化为以下基本功能 该功能应该简单地打印 文件中的字节数 当我对 83886080 字节 80 MB 的文件执行它时 它会打印正确的数字 然而 对于 4815060992 字节 4 48 GB 的文件 它会打印 520093696
  • OpenCV 错误:断言失败,mat.cpp 第 537 行

    http pastebin com 5ZeMvm2C是我项目中的头文件 第 249 行有 sculpture at y axis x axis 1 当我在项目中键入此代码时 我收到此错误 OpenCV Error Assertion fai
  • Sphinx:对不同的输出格式使用不同的指令

    假设您有一个 reStructuredText 文档 并希望使用 Sphinx 2 x 将其导出为两种格式 HTML 和 PDF 您想在这两种格式中放入一些略有不同的内容 例如 文本 我是HTML 出现在 HTML 版本中 而 我是PDF
  • connectOutlet 中使用的 Ember 路由和 applicationController

    我有这个 ember 路由的工作示例http jsfiddle net C7LrM 102 我想像这样将 ApplicationController 更改为应用程序控制器http jsfiddle net C7LrM 102 并打电话 ro
  • spring批处理文件编写器直接写入亚马逊s3存储,无需PutObjectRequest

    我正在尝试将文件上传到亚马逊 s3 我不想上传 而是想使用 Spring Batch 从数据库读取数据并将文件直接写入 s3 存储 无论如何 我们能做到吗 Spring Cloud AWS 添加了支持Amazon S3服务通过资源加载器和s
  • 如何使用 jQuery 选择具有唯一文本内容的 XML 节点?

    我试图 以 jQuery 方式 从 XML 文档中提取唯一文本条目的列表 但遇到了困难 从这个 XML 中
  • Java 中引用变量读写的原子性

    首先引用来自 从JLS 8 秒 17 7 写入和读取引用始终是原子的 无论 它们是作为 32 位值还是 64 位值实现的 这是让我感到困惑的场景 给定 Employee 类和该类中名为calculate 的方法 该方法返回对 Employe
  • iOS 使用情况因 iPhone 尺寸不同而存在差异

    我有一个按钮 我希望根据所使用的 iPhone 类型具有不同的宽度 显然 7 Plus 的宽度更大 而 7 Plus 的宽度则更小 我单击按钮 单击 特征变化 选择 高度 更改每个 iPhone 的约束 然后单击 完成变化并构建 但它始终保
  • 从应用程序引擎访问计算引擎

    我有一个在计算引擎上运行的实例 它使用 Torch 来预测图像中的对象 我想制作一个简单的 Web 界面 用户可以使用该界面上传图像 将图像发送到服务器 计算引擎 预测对象并将列表返回给用户 在我的计算引擎 Ubuntu 14 04 中 这
  • 如何使用 distHaversine 函数?

    我试图在循环内使用 R 中的 distHavrsine 函数来计算数百行的某些纬度和经度坐标之间的距离 在我的循环中我有这样的代码 if distHaversine c file i long file i lat c file j lon
  • 如何用 C 语言制作自己的头文件?

    我尝试制作自己的头文件 但它不起作用vim says wget h 2 2 error invalid preprocessing directive ifndef WGET H wget h 3 2 error invalid prepr
  • 列出并连接到蓝牙设备

    我正在尝试让我的 Windows 平板电脑应用程序通过蓝牙与其他设备进行通信 首先我想扫描设备 然后我想连接到所选设备 我制作了一个简单的测试应用程序 空白首页并向其添加了一个按钮和一个列表框 然后我尝试了以下代码 我在其他地方找到了这样的
  • 如何删除HTTP响应头?

    我遇到一种情况 其中一个响应标头Content Disposition必须被删除 所以我想到编写一个servlet过滤器来做到这一点 但我意识到HttpServletResponse只有一个setHeader 方法 但没有方法删除它 我怎样
  • Django REST Framework 不以 PUT 形式显示值

    昨天我发了一个question并找到了解决该问题的方法 然而 该解决方案引发了另一个问题 请看一下问题 这样我就不必重复内容了 在可浏览 API 中 class name 的值不会显示在 PUT 表单中 呈现的 HTML 看起来像这样 di
  • 在oracle plsql中使用触发器填充代理键的优点

    我正在开发一个代码库 它具有以下类型的模式来生成表的代理键 create or replace TRIGGER TEST TRIG BEFORE INSERT OR UPDATE ON my table REFERENCING NEW AS
  • 更改 JavaFX 8 DatePicker 中的语言

    将 DatePicker 添加到我的应用程序时 我得到以下信息 我认为这是因为我在计算机上使用希伯来语 如何将 DatePicker 的语言更改为英语 您可以为 Java 虚拟机调用实例定义默认区域设置 Locale setDefault