0
謝謝你的幫助! 我正在使用Documentfilter來限制輸入的範圍。在我的代碼中,我可以將輸入限制爲十進制。但是我怎樣才能限制數字的範圍呢? 例如,對於textfield1:1-3,對於textfield2:10-80?Java-如何限制輸入號碼範圍是Document Filter?
這裏是我的代碼:
class MyIntFilter2 extends DocumentFilter {
@Override
public void insertString(FilterBypass fb, int offset,
String string, AttributeSet attr)
throws BadLocationException {
try {
if (string.equals(".")
&& !fb.getDocument()
.getText(0, fb.getDocument().getLength())
.contains(".")) {
super.insertString(fb, offset, string, attr);
return;
}
Double.parseDouble(string);
super.insertString(fb, offset, string, attr);
} catch (Exception e) {
Toolkit.getDefaultToolkit().beep();
}
}
@Override
public void replace(FilterBypass fb, int offset, int length,
String text, AttributeSet attrs)
throws BadLocationException {
try {
if (text.equals(".")
&& !fb.getDocument()
.getText(0, fb.getDocument().getLength())
.contains(".")) {
super.insertString(fb, offset, text, attrs);
return;
}
Double.parseDouble(text);
super.replace(fb, offset, length, text, attrs);
} catch (Exception e) {
Toolkit.getDefaultToolkit().beep();
}
}
}
JSpinner的使用與numberSpinnerModel – mKorbel 2013-03-06 20:50:49