java 输入框设置只能输入正整数
时间: 2023-09-28 19:05:23 浏览: 89
输入框事件监听输入框事件监听.md
可以使用 javax.swing.text.PlainDocument 类来限制 JTextField 中只能输入正整数。
下面是一个简单的示例代码:
```java
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
public class IntegerTextField extends JTextField {
public IntegerTextField() {
setDocument(new IntegerDocument());
}
private static class IntegerDocument extends PlainDocument {
@Override
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if (str == null) {
return;
}
char[] input = str.toCharArray();
boolean isInteger = true;
for (int i = 0; i < input.length; i++) {
if (!Character.isDigit(input[i])) {
isInteger = false;
break;
}
}
if (isInteger) {
super.insertString(offs, new String(input), a);
}
}
}
}
```
然后在你的代码中,使用 IntegerTextField 替换 JTextField 即可。例如:
```java
JTextField textField = new IntegerTextField();
```
这样,用户就无法在输入框中输入非数字字符了。
阅读全文