首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jFormattedTextField的MaskFormatter中的部分匹配

jFormattedTextField的MaskFormatter中的部分匹配
EN

Stack Overflow用户
提问于 2010-03-16 22:36:39
回答 1查看 1.9K关注 0票数 0

如何设置MaskFormatter和JFormattedTextField以允许部分匹配?

例如:

我希望用户能够使用此掩码"## ###### ####“输入数字,因此如果用户输入'123456789123‘,格式化程序会将其更改为'12 345678 9123’(它会在第二个和第八个字符之后添加空格)。

但是,我也希望用户能够输入'12346578',转换为'12 345678‘,并且仍然是一个有效值(这样我就可以使用jFormatedTextField1.getValue()获得它)

这是我的代码的一部分:

代码语言:javascript
复制
JFormattedTextField jFormattedTextField1;
MaskFormatter mf;

mf = new MaskFormatter("## ###### ####");
jFormattedTextField1.setFormatterFactory(new DefaultFormatterFactory(mf));

我尝试将focusLostBehavior设置为持久化,这样退出jFormattedTextField1后就不会清除该值,但这样在使用调用jFormattedTextField1.getValue()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-17 21:43:31

通过使用星号设置掩码并将其有效字符设置为数字和空格字符too解决了此问题。

代码语言:javascript
复制
JFormattedTextField jFormattedTextField1;
MaskFormatter mf;

mf = new MaskFormatter("** ****** ****");
mf.setValidCharacters("0123456789 ");
jFormattedTextField1.setFormatterFactory(new DefaultFormatterFactory(mf));

然后,我可以随时使用getValue()修剪我得到的字符串,以便删除尾随空格。

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

https://stackoverflow.com/questions/2455214

复制
相关文章

相似问题

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