有什么方法可以迫使用户通过覆盖某些字符来提供输入。
即:
第一个画面:
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/