Java 我如何只允许用户在计算器应用程序中输入一个小数点?
我正在为类创建一个计算器,我需要限制用户添加一个小数点。在当前状态下,他们可以添加任意数量的内容 我对爪哇很陌生,所以请容忍我 此处是创建文本框的位置:Java 我如何只允许用户在计算器应用程序中输入一个小数点?,java,Java,我正在为类创建一个计算器,我需要限制用户添加一个小数点。在当前状态下,他们可以添加任意数量的内容 我对爪哇很陌生,所以请容忍我 此处是创建文本框的位置: public InLab05() { setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); JTextField result = new JTextField(); c.fill = GridBag
public InLab05() {
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
JTextField result = new JTextField();
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 4;
add(result, c);
在输入时,您可以运行result.indexOf(“.”);如果返回-1,则允许添加用户输入,因为您知道该字符串不包含任何内容。使用此选项,即使用户继续输入更多数字,也将只保留一个十进制数字
result.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
check();
}
public void removeUpdate(DocumentEvent e) {
check();
}
public void insertUpdate(DocumentEvent e) {
check();
}
private void check(){
String str=result.getText();
if(str.length()- str.lastIndexOf('.')>2){
result.setText(str.subString(0,str.lastIndexOf('.')+2);
}
}
});
如果搜索“输入验证”或“JTextField上的用户输入验证”,您可能会获得一些见解。