gor*_*lok 20
选项1)使用JFormattedTextField更改您的JTextField,如下所示:
try {
MaskFormatter mascara = new MaskFormatter("##.##");
JFormattedTextField textField = new JFormattedTextField(mascara);
textField.setValue(new Float("12.34"));
} catch (Exception e) {
...
}
Run Code Online (Sandbox Code Playgroud)
选项2)从键盘捕获用户的输入,如下所示:
JTextField textField = new JTextField(10);
textField.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if ( ((c < '0') || (c > '9')) && (c != KeyEvent.VK_BACK_SPACE)) {
e.consume(); // ignore event
}
}
});
Run Code Online (Sandbox Code Playgroud)
答案是JFormattedTextField. 请参阅我对这个重复问题的回答:
你可以使用
JFormattedTextField.使用a构造它NumberFormatter,它只接受数字.它
JFormattedTextField有一堆可配置的选项,可以让您决定输入的错误处理方式.我建议查看文档.
| 归档时间: |
|
| 查看次数: |
31165 次 |
| 最近记录: |