首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在JFormattedTextField中输入日期后,自定义掩码消失

JFormattedTextField 是 Java Swing 组件库中的一个类,用于显示和编辑格式化的文本。当你在 JFormattedTextField 中输入日期后,自定义掩码消失的问题可能是由于格式化器(Formatter)在处理输入时没有正确地应用掩码。

基础概念

  • JFormattedTextField: 这是一个允许用户输入特定格式数据的文本框,例如日期、电话号码等。
  • 掩码(Mask): 掩码是一种格式化规则,用于定义用户输入数据的显示和输入格式。

相关优势

  • 自动格式化输入,提高用户体验。
  • 减少输入错误,确保数据的正确性。
  • 可以自定义格式,适应不同的业务需求。

类型

  • 日期格式化器: 用于格式化和验证日期输入。
  • 数字格式化器: 用于格式化和验证数字输入。
  • 自定义格式化器: 可以根据需要创建特定的格式化器。

应用场景

  • 表单输入,如注册页面、订单页面等。
  • 数据展示,如报表、仪表盘等。

问题原因及解决方法

原因

JFormattedTextField 使用 AbstractFormatterFactoryAbstractFormatter 来处理输入和输出的格式化。如果掩码在输入后消失,可能是因为格式化器没有正确地应用掩码或者在输入过程中被重置了。

解决方法

  1. 确保使用正确的格式化器: 使用 MaskFormatter 或者自定义的格式化器来确保掩码的正确应用。
  2. 确保使用正确的格式化器: 使用 MaskFormatter 或者自定义的格式化器来确保掩码的正确应用。
  3. 处理输入事件: 可以通过监听输入事件来确保掩码在每次输入后都被正确应用。
  4. 处理输入事件: 可以通过监听输入事件来确保掩码在每次输入后都被正确应用。
  5. 自定义格式化器: 如果内置的 MaskFormatter 不满足需求,可以创建自定义的格式化器。
  6. 自定义格式化器: 如果内置的 MaskFormatter 不满足需求,可以创建自定义的格式化器。
  7. 然后在 JFormattedTextField 中使用这个自定义格式化器:
  8. 然后在 JFormattedTextField 中使用这个自定义格式化器:

通过上述方法,可以确保在 JFormattedTextField 中输入日期后,自定义掩码不会消失,并且能够正确地格式化和验证用户的输入。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java Swing用户界面组件文本输入:文本域+密码域+格式化的输入域

最终,在JDK 1.4中,Swing设计者面对问题,提供了一个多功能的JFormattedTextField类,这个类不仅可以用于输入数值,也可以用于输入时间和更加复杂的格式化数值,如IP地址。...同时也要注意^符号的位置在掩码中跳过了固定字符。 掩码格式器对于固定格式(比如社会保险号和美国电话号码)非常有效。然而,也要注意 到在掩码格式下不允许有任何不一致的地方。...例如,国际电话号码就不能使用掩码格式器,因 为各个国家的电话号码可能有不同的位数。 6. 自定义格式器 如果所有的标准格式器都不适用,就需要定义自己的格式器,做这件事情很容易。...同时,还希望在格式器中检查每个字节的最大值为255。 为了自定义格式器,扩展DefaultFormatter类并且覆盖其中的方法。...如果文本超出了文本区可以显示的范围,滚动条就会自动出现,并且在删除部分文本后,当文本能够显示在文本区范围内时,滚动条会再次消失。滚动是由滚动窗格内部处理的,编写程序时无需处理滚动事件。

4.1K10

在 Vue 中创建自定义输入

特别地,表单输入往往会有很多复杂性,我们希望把这些复杂性都隐藏在组件中,例如 自定义设计 、标签、验证、帮助消息等等,并且我们还要确保这些部分中的每一个都按正确的顺序排列渲染。...可悲的是,当我在 Vue 中查看单选按钮或复选框的自定义输入的示例时,他们根本没有考虑 v-model ,或者没有正确的使用。...了解 v-model 如何在原生输入上工作,主要侧重于单选框和复选框 默认情况下,了解 v-model 在自定义组件上的工作原理 了解如何创建自定义复选框和单选,以模拟原生 v-model 的工作原理...这意味着每次输入完成后的 varName 将被更新为输入的值,然后输入的值被设置为 varName 。 正常的 select 元素也会像这样,尽管 multiple 多项选择有所不同。...它实际上的工作方式与文本输入情况下完全相同,只是在事件处理程序中,它不会将事件对象传递给它,而是希望将值直接传递给它。

6.4K20
  • elementUi中input输入字符光标在输入一个字符后,光标失去焦点

    bug描述:elementUi中input输入字符光标在输入一个字符后,光标就退出,无法输入需要再次聚焦然后输入一个字符又再次退出。        ...首先,用elementUi正常用v-model绑定输入的值是不会造成光标退出的,原因是用了局部作用域插槽并且table的外层包了一层表单,导致光标输入,table下的数据刷新,导致table重绘,光标失去焦点...,首先声明不建议大家这样写代码,如果要要增加一个table中的表单校验功能,建议大家把el-form表单放入table内的作用域插槽中,这样更加容易理解,好了,先说下如图这种代码的解决方案,我最后也是用这种方案解决的...解决办法是table绑定一个初始化的模拟数据,,插槽内绑定页面渲染的数据,当输入框数据变化时,table绑定的数据并没有发生变化,不会导致table重绘,页面也可正常校验

    4K30

    《编程千问》第八问:在浏览器中输入URL后发生了什么?

    第八问:在浏览器中输入URL后发生了什么? 当在浏览器中输入一个URL并按下回车键时,背后会发生一系列复杂的过程,以下是详细的步骤说明。 1....用户输入 URL 用户输入一个 URL(例如 https://www.example.com)。 浏览器会解析输入,判断是完整的 URL 还是需要补全为默认的协议(如 http://)。 2....服务器处理请求 服务器接收到请求后,进行以下步骤: 检查请求的资源(文件、动态页面等)。 如果是动态页面,调用后端程序(如 PHP、Node.js)。 返回响应数据。...页面展示 浏览器将绘制后的页面呈现在用户面前。 可能还会加载其他资源(图片、视频、JS 等)。...总结表格 步骤 操作 涉及技术/协议 用户输入 URL 判断是否为有效 URL URL、URI DNS 解析 将域名解析为 IP 地址 DNS 协议、递归查询 TCP 连接 建立与服务器的通信 TCP

    9010

    Access数据库表字段属性(一)

    那么为了减少输入工作量和错误,就可以通过输入掩码来提供一个模板。 在设计视图中,选择学号字段,在输入掩码位置输入"AA"0000。(其中" "表示逐字显示双引号中的字符,0表示必须输入一个数字。...(即是0占位符的作用:必须输入0到9中的一个数字。)符合要求后才能保存。 ? 通过上述示例来说明,输入掩码属性其实就是通过占位符和字面字符来组合成一个需要的模板。...输入掩码还有一个例外的用法,是可以用于保存密码,在字段属性设置中,在输入掩码栏中直接输入“密码”,保存后,在数据表视图输入的数据就用*演示,如下图所示: ?...理解字符代表的意义和如何使用方法后,就可以根据需要来任意来进行组合使用。 二、 格 式 格式属性是控制显示和打印数据格式、选项预定义格式或输入自定义格式。...yyyy:完整的年份(0100到9999) 下图示例显示格式我们按照月份和日期来显示,在格式中输入mm年dd日,然后保存。

    5.5K20

    【愚公系列】2023年11月 Winform控件专题 MaskedTextBox控件详解

    例如,您可以使用它来限制日期输入的格式或电话号码的格式等。MaskedTextBox控件有一个Mask属性,在该属性中您可以设置输入限制。...例如,当掩码输入为手机号码时,如果设置HidePromptOnLeave属性为true,用户在输入完11位手机号码后,离开控件时,该控件只会显示输入的11位数字,并且掩码提示字符将不再显示。...以下是一些使用MaskedTextBox控件的示例:1.日期格式MaskedTextBox控件可以使用日期格式掩码,例如 "00/00/0000",它可以强制用户在输入日期时保持一定的格式。...DateTime 类型,如果可以成功转换,则弹出消息框显示转换后的日期,否则提示用户输入有效的日期。...最后,运行程序,输入一个有效的日期(比如 01/01/2021),点击提交按钮,即可看到转换后的日期信息。

    99111

    C# WPF Dev控件之正则验证介绍

    例如,文本编辑器应该接受24小时格式的日期/时间值或数字值。另一个例子是在编辑器中输入电话号码(最终用户只需输入数字,而在编辑时应自动跳过连字符)。使用屏蔽输入来支持这些和许多其他数据输入格式。...03—设计时增强功能 Design-Time Enhancements 屏蔽编辑器允许您在设计时快速创建和自定义任何复杂的屏蔽功能。 04—其它 掩码中的空值输入 设置BaseEdit。...AllowNullInput属性设置为true,以允许在相应数据字段没有可用信息的情况下,在屏蔽编辑器中输入空值。要完成此操作,请按CTRL-D或CTRL-0。...在值中包含掩码字符 使用简单或常规掩码类型时,可以指定编辑器的值中是否包含持续显示的掩码字符(文字)。换句话说,您可以控制这些字符是否出现在BaseEdit返回的值中。是否编辑属性值。...当最终用户在空编辑框中输入“M”字符时,第二个占位符将自动填充“a”字符,因为有两个月以“M”开头(三月和五月),并且在第二个位置都包含“a”。

    1.9K40

    pyqt5 lineedit_pyqt5 tablewidget

    下表列出了输入掩码的占位符和字面字符,并说明其如何控制数据输入 字符 含义 A ASCII字母字符是必须输入的(A-Z,a-z) a ASCII字母字符是允许输入的,但不是必须输入的 N ASCII...:HH:HH;_') #日期掩码 pDatelineEdit.setInputMask('0000-00-00') #许可证掩码 pLiceseLineEdit.setInputMask('>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA...;#') #添加名称与控件到表单布局中 flo.addRow('数字掩码',pIPlineEdit) flo.addRow('Mac掩码',pMAXlineEdit) flo.addRow('日期掩码'...lineEditDemo() win.show() sys.exit(app.exec_()) 在这个例子中,演示了使用QLineEdit对象的一些方法 第一个文本框e1,显示文本使用自定义字体...,右对齐,允许输入整数 第二个文本框e2,限制输入小数点后两位 第三个文本框e3,需要一个输入掩码应用于电话号码 第四个文本框e4,需要发射信号textChanged,链接到槽函数textChanged

    1.3K20

    qlineedit_qt layoutstretch

    当在同一个输入框中切换验证器和输入掩码的时候,最好是清除验证器或输入掩码,防止不确定的行为。 | 版权声明:一去、二三里,未经博主允许不得转载。...如果输入框有一个输入掩码,那么,掩码定义字符串的最大长度。...掩码由掩码字符和分隔符字符串组成,后面可以跟一个分号和用于空白的字符,空白字符在编辑后总是从文本中删除。 示例: 掩码 注意事项 000.000.000.000;_ IP地址,空白是_。...:%1").arg(strText)); } 验证器 通常情况下,我们会对用户的输入做一些限制,可以通过验证起来设置,常见的有:整形、浮点型及其它自定义验证器。...要限制用户输入,除了验证器,还可以使用输入掩码,常见的有IP、MAC地址、日期、License号等。

    2.2K30

    表格控件:计算引擎、报表、集算表

    默认上传按钮在单元格中显示,如下所示: 文档自定义属性 SpreadJS 现在支持为工作簿设置自定义属性,包括标题、作者、主题等数据。...日期 便于输入日期值 复选框 真假 用于选中/取消选中,数据类型为 TRUE/FALSE 选择框 取决于选项 从预设列表中选择选项 Currency 数值 以文化格式指示货币 百分比 数值 以百分比格式指示数字...电话 文本 以掩码验证指示数字字符串 邮件 文本 以掩码验证指示电子邮件地址 链接 文本 指示 URL 文本 创建时间 日期 在创建记录时设置日期 修改时间 日期 在记录字段更新时设置日期 附件 对象...表格编辑器 自定义保存文件对话框 在新版本中,用户可以通过 API 设置保存时的文件格式以及文件名称,如下代码所示: 打印边框选项 SpreadJS 中已经存在 showBorder 方法,用于控制打印过程中是否显示边框...即使在分组后,原始字段仍然保持为正常字段。 日期字段重新分组 重新分组需要使用原始字段的确切名称。 重新分组需要使用原始字段名称或生成的分组字段名称。 取消分组功能 仅使用原始字段名称来取消分组。

    13710

    Web表单开发之实时格式化显示——Cleave.js

    ---- Github https://github.com/nosir/cleave.js 特征 信用卡号码格式 电话号码格式(国际化) 日期格式 数字格式 自定义定界符,前缀和块模式 CommonJS...Cleave.js是通过格式化键入的数据来提供一种提高输入字段可读性的简便方法。通过使用该库,无需编写任何令人难以置信的正则表达式或掩码模式即可格式化输入文本。...但是,这并不意味着要替换任何验证或掩码库,仍然需要对数据进行服务器端的校验。也就是说Cleave.js是为了更加好的可读性 实践 信用卡 ?...creditCard: true, onCreditCardTypeChanged: function (type) { // update UI ... } }); 日期...= new Cleave('.input-element', { numeral: true, numeralThousandsGroupStyle: 'thousand' }); 自定义

    2.2K20

    PS模块第九节:PA PLM210详细练习

    01 目录 1 介绍PLM210 2 工作分解结构 2.1 SAP项目系统中的结构 2.2 自定义工作分解结构 2.3 工作分解结构 2.3.1 任务 1:在项目生成器中创建工作分解结构 在项目生成器中手动创建一个项目...(可选:检查电梯项目的编码掩码) 通过复制“为项目系统自定义”中的配置文件1004(电梯模型组4),创建项目配置文件GR##(描述为GR##销售项目)。...在表概述中输入以下数据: 回车自动生成结构 4.掩码自动生成结构 使用选定的 WBS 元素的标识和所使用的编码掩码来推导工作分解结构的结 构。...此外, 您还可以将文档管理系统中的文档链接到项目。可选:在项目中设置并传递用户 状态。 1.日期定义 在项目生成器中,在项目定义中存储整个项目期间的基本日期。...4.里程碑 使用里程碑(使用:00001 项目想法)来指定应在项目开始后12天内举行一个启动会议。您应该能够在里程碑趋势分析中评估此里程碑的日期变化。

    1.7K31

    精读《设计完美的日期选择器》

    摘要 日期选择器作为基础组件重要不可或缺的一员,大家已经快习惯它一成不变的样子,输入框+日期选择弹出层。但到业务中,这种墨守成规的样子真的能百分百契合业务需求吗。...设计原则 2.1 通用设计 1)明确需求,是实现日期选择、日期区间选择、时间选择 2)用户选中日期后是否需要自动触发下一步?尤其是在某些固定业务流程中 3)日期选择器是否是最佳的日期选择方法?...2.2 输入框设计 1)用户是否可以自定义输入日期,还是只能通过点击选择程序给出的日期?有时候直接输入的效率明显高于点击选择,在很多银行流水查询的场景中就提供自定义输入。...2)用户自定义输入如何保证日期格式正确性? 3)是否需要提供预设场景输入? 比如昨天,三天前,七天前,30天前?像很多数据分析场景,分析师会关注数据周期,比如流量的周环比,月环比,年环比。...3.4 对话式交互 采用与用户交互的方式选择日期,如果今后应用上AI,单纯的日期选择器是不是会消失不见呢?..

    1.4K10

    Access数据库表字段属性(二)

    大家好,上节介绍了字段属性中的输入掩码和格式,本节介绍验证规则和验证文本等。验证规则和Excel的有效性规则类似。 一、验 证 规 则 验证规则属性是用于限制用户输入的值的范围。...(输入掩码属性只能限制位数,但不能限制值的具体范围。) 在使用验证规则就需要用到几个逻辑连接词,and并且、or或者、not非、is null空值和is not null非空值。...示例3 再比如录入日期的字段,要求输入的日期数据,必须是在某个固定日期之后的。在验证规则中输入表达式>=#2019-12-5#。(在表达式中出现日期时需要# # ) ?...保存返回数据表视图,输入的日期如果在该日期之前,无法保存。 二、 验 证 文 本 验证文本是当输入的字段值不符合验证规则时,打开的警告信息中显示的文本。(不需要双引号)。...可以通过在验证文本中输入“请输入8至18岁之间的数值”。保存后再回到数据表视图中,输入20试验下。 ? 三、 必 需 属 性 必须属性有[是/否]两个选项,表示该字段是否必须输入数据。

    4.8K30

    iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

    活动指示器: 当任务进行和加载时旋转,任务完成后自动消失 不支持用户交互行为 在工具栏或主视图中使用活动指示器来告知用户任务或加载正在进行中,但并不提示该过程何时会结束。 不要使用静止的活动指示器。...举个例子,在新建邮件的界面中,用户可以点击该按钮来在邮件中添加收件人,而不需要用键盘输入收件人的名字。...由于添加联系人按钮属于键盘输入联系人方法的替代品,我们不推荐在不支持键盘输入的界面中使用添加联系人按钮。...使用日期时间选择器来让用户选择时间,而不是让用户自己输入一个包含了日期、时间等多个部分的时间值。 尽量地让用户在当前内容中使用日期选择器。最好避免用户在使用日期选择器的时候要进入另外一个界面。...,当前模态视图也会消失),和一个取消按钮(点击后即放弃当前任务,同时当前模态视图消失) 当需要用户完成与你的app中的基础功能相关的、独立的任务的时候,可以使用模态视图。

    13.2K30

    IJCAI 2021|美团提出车道线检测新框架SGNet,精准且快速

    在交通场景中,车道线作为道路的重要标识,是道路理解的主要要素之一。...如图 4 所示,在消失点(图中黑圆点)及其周围区域(图 4 中灰圆点)生成 anchor,anchor 生成过程中,针对每个点,每隔 ? 角度,生成一个 anchor,角度范围是[0,180]。 ?...3、多层级结构信息约束 (1)像素级感知 为了更好地预测车道线的细节,在预测消失点的同时,引入车道线的像素感知。如图 2 所示,车道线像素感知分支与消失点预测分支有着相同的输入和网络结构。...(2)车道线级关系 进一步地,现实生活中车道线的构建都会遵守国标规则,其中最重要的就是车道线间的等距平行规则。由于成像原因,这种关系在仿射变换后在二维图像上不再保持,但依然潜在存在。...该过程中,每一条车道线实例L_Lane经过转换后得到 ? ,在鸟瞰图中不同的 ? 保持平行关系。因此,对于一张图片中的两个车道线实例 ? ,通过H矩阵将其投射到鸟瞰图视角下,得到相应的 ? 。

    99340

    牛逼!表单自动格式化

    日期 年-月-日的格式化。我们只需要正常输入数据“20201209”,表单自动格式化位“2020-12-09” 两位简写的日期格式月/年也是一样! 时间 对于时间个格式化,用于显示的情况比较多!...格式化你的输入内容 根据上一部分的内容,我们可以知道 Cleave.js 就是帮助我们在输入的时候,边输入,边格式化。 通过使用这个库,您不需要编写任何正则表达式来控制输入文本的格式。...如果输入错误的内容,这些错误的内容是不会显示的,连校验和验证都省略了。然而,这并不意味着取代任何验证或掩码库,你仍应在后端验证数据。...毕竟它只管表单上的显示内容~ Cleave.js 支持信用卡号码、电话号码格式(支持各个国家)、日期格式、数字格式、自定义分隔符,前缀和块模式等。...React中的使用 直接NPM安装 npm install --save cleave.js 然后在组件中引入使用即可。

    19730

    最新iOS设计规范五|3大界面要素:控件(Controls)

    但用户在执行操作后可能改变主意,所以始终要实现撤消和返回功能。 使用有用的自定义命令扩张编辑选项 。...在iOS 14及更高版本中,日期选择器支持其他选择值的方式,例如在日历视图中选择日期或使用数字键盘输入日期和时间。两种类型的选择器都使人们可以通过选择单值或多值来轻松输入信息。 ?...任务完成后它会消失。活动加载器是不是可交互元素。 ? 进度条优于加载器。如果加载过程是可量化的,请使用进度条而不是加载器,以便用户可以更好地衡量正在发生的事情以及需要多长时间。 保持加载器的转动。...在iOS 12及更早版本中,以及在全面屏显示的设备上,网络活动指示器会在发生联网时在屏幕顶部的状态栏中旋转,联网完成后消失。和活动加载指示器样式一样,并且是非交互式的。 ?...使用文本输入框来输入少量信息,例如电子邮件地址。 ? 在文本输入框中显示必要的提示,以帮助用户更好的输入。当输入框中没有其他文本时,文本输入框可以包含占位符文本。

    8.6K30

    运维必备 | Win批处理(Batch)编程常用DOS命令汇总收藏备查

    双击"Prompt"值,然后在"数值数据"字段中输入您想要设置的新prompt命令。 单击"确定"保存更改。 关闭注册表编辑器。 现在,您下次打开命令提示符时,将会看到您所设置的新prompt命令。...指定关联掩码,正如 NUMA 节点的处理器掩码正确移动到零位起始位置一样。进程被限制在指定关联掩码和 NUMA 节点之间的那些通用处理器上运行。...# 若10s后还没选择输入,则默认值为y。...doskey 命令 - 创建脚本宏命令别名 描述: 此命令类似于Linux中的alias命令,它允许您创建、编辑和使用自定义命令别名, 在经常需要输入重复命令的场景下有非常大的用处。...echo title %cd% ^&^& calc.exe >> cmd_title.bat @REM 执行cd时执行我们自定义的后门脚本,当执行cd后将会触发执行calc命令,下述的 $T 等同于

    1.8K20

    如何在CUDA中为Transformer编写一个PyTorch自定义层

    我们将重点关注第 85、87 和 88 行中的掩码操作。它组合了多个操作符来模拟「掩码处理后的 softmax」操作:为 softmax 的掩码输入填充负无穷数,从而使 softmax 忽略它们。...掩码处理后的 Softmax 首先,我认为我们可以通过将运算过程封装进一个操作符中来优化掩码处理后的 softmax,因为执行多个操作符本身就会产生开销。...在一些假设条件下,我们可以最小化内存访问的次数。前面的第一版现在可以从全局内存中读取两种类型的值(掩码和输入)。用于归一化后的点乘注意力机制的掩码通常有如下所示的形式。 ?...掩码处理后的 Softmax(MaskedSoftmax)的执行时间现在比第一版快 2.5 倍。 ? 我还检查了这种优化在多大程度上提高了整个训练的速度。...结语 我在 CUDA 中编写了一个自定义的操作符并使 Transformer 的训练快了约 2%。我首先希望仅仅在 CUDA 中重写一个操作符来得到巨大的性能提升,但事与愿违。

    1.9K30
    领券