Java 如何将文本字段设置为仅接受数字和退格?
我正在尝试创建一个GUI项目,我希望我的文本字段只接受数字和退格。我目前还不熟悉Java,所以对它还不太了解 以下是我目前的代码:Java 如何将文本字段设置为仅接受数字和退格?,java,swing,user-interface,jtextfield,keylistener,Java,Swing,User Interface,Jtextfield,Keylistener,我正在尝试创建一个GUI项目,我希望我的文本字段只接受数字和退格。我目前还不熟悉Java,所以对它还不太了解 以下是我目前的代码: AgeField = new JTextField(); AgeField.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent ke) { String value = AgeField.getText(); int l = value.length();
AgeField = new JTextField();
AgeField.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke) {
String value = AgeField.getText();
int l = value.length();
if (ke.getKeyChar() >= '0' && ke.getKeyChar() <= '9' && ke.getKeyChar() == KeyEvent.VK_BACK_SPACE) {
AgeField.setEditable(true);
}
else {
AgeField.setEditable(false);
}
}
});
AgeField=newjtextfield();
AgeField.addKeyListener(新的KeyAdapter(){
按下公共无效键(KeyEvent ke){
字符串值=AgeField.getText();
int l=value.length();
如果(ke.getKeyChar()>='0'&&ke.getKeyChar()您应该应用此更改:
if ((ke.getKeyChar() >= '0' && ke.getKeyChar() <= '9') || (ke.getKeyChar() == KeyEvent.VK_BACK_SPACE))
<代码> >((KE.GETKEYCARER)> =‘0’& & KEKEKECAR()。我建议要么回答这个问题,要么考虑使用<代码> JSpinner <代码> > <代码> SPNENENUBER模型< /代码>。它不像你描述的那样工作,但用户可能更喜欢它。实际上,你不应该使用<代码> Kist听者< /Cord>。你仍然可以“粘贴”。将非数字字符放入JTextField
。这就是DocumentFilter
类存在的原因。