gpt4 book ai didi

java - 如何动态更改 FormatedTextField 掩码?

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:53 25 4
gpt4 key购买 nike

所以我有这个 FormatedTextField

JFormattedTextField myFtf = new JFormattedTextField();

它具有以下掩码,放置在我的应用程序构造函数中

try {
myFtf.setFormatterFactory(
new DefaultFormatterFactory(
new MaskFormatter("###.###.###-##")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
}

然后,我有两个单选按钮,它们应该更改 myFtf 中的掩码格式化程序。

我尝试过以下方法:

private radioButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                                  
try {
myFtf.setFormatterFactory(
new DefaultFormatterFactory(
new MaskFormatter("###.###.###-##")));
} catch (Exception e) {
e.printStackTrace();
}
}

private void radioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
myFtf.setFormatterFactory(
new DefaultFormatterFactory(
new MaskFormatter("##.###.###/####-##")));
} catch (Exception e) {
e.printStackTrace();
}
}

这工作正常,直到我尝试在文本字段中有输入时更改它们的掩码。如果有的话,它就不再改变面具了。以下是几张打印品:

<小时/>

好的场景:

图片: enter image description here

切换单选按钮给我这个:

img b: enter image description here

<小时/>

错误场景:

img c: enter image description here

切换单选按钮给我这个:

img d: enter image description here

我期望 img dimg a

<小时/>

如何正确动态更改其掩码?

最佳答案

我已经正常工作了!我所需要做的就是添加一个

myFtf.setValue(null);

设置新的格式化程序工厂后。 myFtf.setText("") 没有按预期工作,但已经很接近了! :-)

关于java - 如何动态更改 FormatedTextField 掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30417260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com