JTextField textfield = new JTextField(20); AbstractDocument document = (AbstractDocument) textfield.getDocument(); document.setDocumentFilter(new DocumentFilter() { public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { int len = string.length(); for (int i = 0; i < len; i++) { char c = string.charAt(i); if (!Character.isDigit(c)) { Toolkit.getDefaultToolkit().beep(); return; } } super.insertString(fb, offset, string, attr); }
public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException { int len = text.length(); for (int i = 0; i < len; i++) { char c = text.charAt(i); if (!Character.isDigit(c)) { Toolkit.getDefaultToolkit().beep(); return; } } super.replace(fb, offset, length, text, attrs); } });
AbstractDocument document = (AbstractDocument) textfield.getDocument();
document.setDocumentFilter(new DocumentFilter() {
public void insertString(FilterBypass fb, int offset, String string,
AttributeSet attr) throws BadLocationException
{
int len = string.length();
for (int i = 0; i < len; i++) {
char c = string.charAt(i);
if (!Character.isDigit(c)) {
Toolkit.getDefaultToolkit().beep();
return;
}
}
super.insertString(fb, offset, string, attr);
}
public void replace(FilterBypass fb, int offset, int length, String text,
AttributeSet attrs) throws BadLocationException
{
int len = text.length();
for (int i = 0; i < len; i++) {
char c = text.charAt(i);
if (!Character.isDigit(c)) {
Toolkit.getDefaultToolkit().beep();
return;
}
}
super.replace(fb, offset, length, text, attrs);
}
});
1 实现DocumentListener 接口,自己处理数字和字母
2 用JFormattedTextField 来实现,自己找一下demo看看