我有一个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(value),在这种情况下,它显示在字段中,但没有maskformatter。

我如何显示该值和掩码。

最佳答案

这对我有用:

public class MyJFrame extends JFrame {

MyJFrame() {
    try {
        MaskFormatter mk = null;
        try {
            mk = new MaskFormatter("**-**-**-**-**-**-**-**-**-**-**-**-**-**-**");
            mk.setPlaceholderCharacter('_');
        } catch (ParseException e) {
            e.printStackTrace();
        }
        JFormattedTextField format1 = new JFormattedTextField(mk);
        format1.setBounds(170, 80, 280, 25);
        format1.setFont(new Font("serif", Font.PLAIN, 13));
        String value = "ZZ-99-ZZ-99-ZZ-99-ZZ-99-ZZ-99-ZZ-99-ZZ-99-ZZ";//hashmap1.get("Command 1").substring(hashmap1.get("Command 1").lastIndexOf("-")+2, hashmap1.get("Command 1").length());
        String display = mk.valueToString(value);
        System.out.println("display = " + display);
        format1.setValue(value);
        add(format1);
        pack();
    } catch (ParseException ex) {
        Logger.getLogger(MyJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }
}

/**
 * @param args the command line arguments
 */
public static void main(String args[]) {
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new MyJFrame().setVisible(true);
        }
    });
}
}


如果值是“ zz-99”,则显示

zz-99-__-__-__-__-__-__-__-__-__-__-__-__-__

10-06 07:01