我希望我的文本字段只接受数字(数字)和一个点,因为它是用户可以在其中写入产品价格的字段。我有这段代码,但效果不佳,它只接受数字并删除。
char c=evt.getKeyChar();
if(!(Character.isDigit(c))||(c==KeyEvent.VK_BACK_SPACE)||(c==KeyEvent.VK_DELETE)){
getToolkit().beep();
evt.consume();
}
有人可以帮我解决这个问题吗?
最佳答案
我找到了解决这个问题的方法: 这是我写的代码
char c=evt.getKeyChar();
if((Character.isDigit(c))||(c==KeyEvent.VK_PERIOD)||(c==KeyEvent.VK_BACK_SPACE)){
int punto=0;
if(c==KeyEvent.VK_PERIOD){
String s=pricefield.getText();
int dot=s.indexOf('.');
punto=dot;
if(dot!=-1){
getToolkit().beep();
evt.consume();
}
}
}
else{
getToolkit().beep();
evt.consume();
}
关于java - JTextField 只接受数字和一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43473110/