有什么方法可以迫使用户通过覆盖某些字符来提供输入。

即:

第一个画面:

Amount: ___.__


第二:

Amount: 1__.__


...像这样...

最后:

Amount: 1200.50


但是我想确保一旦用户按下键盘,数字就会被打印出来。

提前致谢。

附注:操作系统为MS Windows 9x / XP / Vista / 7。该应用程序用于控制台。

最佳答案

MaskFormatter mf1 = new MaskFormatter("#####.##");
mf1.setPlaceholderCharacter('_');
JFormattedTextField ftf1 = new JFormattedTextField(mf1);


这是完整的代码

import java.awt.Container;
import java.text.ParseException;
import javax.swing.BoxLayout;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.text.MaskFormatter;

public class Test {

    public static void main(String args[]) throws ParseException {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container content = f.getContentPane();
        content.setLayout(new BoxLayout(content, BoxLayout.PAGE_AXIS));

        MaskFormatter mf1 = new MaskFormatter("######.###");
        mf1.setPlaceholderCharacter('_');
        JFormattedTextField ftf1 = new JFormattedTextField(mf1);
        content.add(ftf1);

        f.setSize(300, 100);
        f.setVisible(true);
    }

}

关于java - 指定输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5127403/

10-11 15:01
查看更多