在java中使用MaskFormatter将值swing设置为Jformattedtextfield
我有一个MaskFormatter和Jformattedtextfield。代码是
try {
mk = new MaskFormatter("**-**-**-**-**-**-**-**-**-**-**-**-**-**-**");
mk.setPlaceholderCharacter('_');
} catch(ParseException e) {
e.printStackTrace();
}
format1=new JFormattedTextField(mk);
format1.setBounds(170, 80, 280,25);
format1.setFont(new Font("serif",Font.PLAIN,13));
commandpanel.add(format1);
我已将maskformatter添加到jformattedTextfield。单击按钮时,我试图将值设置为format1,但format1字段中没有显示任何内容
这是设置值的代码
// value may be 1E0234
String value=hashmap1.get("Command 1").substring(hashmap1.get("Command 1").lastIndexOf("-")+2, hashmap1.get("Command 1").length());
format1.setValue(value);
我还尝试了format1。setText(值),在本例中,它显示在字段中,但没有maskformatter
如何显示值和遮罩
# 1 楼答案
在我看来,您正在尝试输入一个字段无法处理的值。你需要找到方法让你的价值观符合你想要的格式。祝你好运
这对我有用
(Postdata) 我注意到已经有this answer(它得到了所有的赞扬)。显然,两者都提供了工作代码,而我的代码显然是后者。我为什么要留着它
# 2 楼答案
这对我很有用:
如果值为“zz-99”,则显示