色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java設置文本框輸入數字和字母

榮姿康1年前7瀏覽0評論

Java中設置文本框只能輸入數字或字母可以通過以下方法實現:

//創建文本框對象
JTextField textField = new JTextField();
//設置只能輸入數字和字母
textField.setDocument(new NumberAndLetterOnlyDocument());

其中NumberAndLetterOnlyDocument類的代碼如下:

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
public class NumberAndLetterOnlyDocument extends PlainDocument {
public static final String NUMBER_AND_LETTER_ONLY_REGEX = "^[a-zA-Z0-9]*$";
@Override
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if (str == null) {
return;
}
//正則表達式判斷輸入的字符是否合法
if (str.matches(NUMBER_AND_LETTER_ONLY_REGEX)) {
super.insertString(offs, str, a);
}
}
}

在代碼中,NumberAndLetterOnlyDocument類繼承自PlainDocument類,覆蓋了insertString方法,該方法是在文本框輸入時自動被調用的。

在insertString方法內部,首先判斷輸入的字符是否為空,如果是,則直接返回,如果不是,再通過正則表達式判斷輸入的字符是否為數字和字母,如果是,則調用super.insertString方法將其添加到文本框中,否則不做任何操作。

最后通過設置文本框的Document屬性為NumberAndLetterOnlyDocument,即可限制文本框只能輸入數字和字母。