欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java限制文本框輸入數字和字母

曾國雄1年前7瀏覽0評論

在Java中,如果我們想要限制文本框只能輸入數字和字母,該怎么做呢?其實非常簡單,我們只需要使用正則表達式來實現即可。

import java.awt.*;
import javax.swing.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class InputFilter extends JPanel {
private JTextField textField;
public InputFilter() {
setLayout(new BorderLayout());
// 創建文本框并添加輸入限制器
textField = new JTextField();
textField.setDocument(new FilteredDocument());
add(textField, BorderLayout.CENTER);
}
// 輸入限制器
private static class FilteredDocument extends PlainDocument {
// 只允許輸入數字和字母
private Pattern pattern = Pattern.compile("[^A-Za-z0-9]");
// 插入字符串時調用
@Override
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
JOptionPane.showMessageDialog(null, "該文本框只允許輸入數字和字母!", "輸入錯誤", JOptionPane.ERROR_MESSAGE);
return;
}
// 調用父類的方法插入字符串
super.insertString(offs, str, a);
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("輸入限制器");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new InputFilter());
frame.pack();
frame.setVisible(true);
}
}

上面的代碼中,我們首先創建了一個帶有輸入限制器的文本框,并且只允許輸入數字和字母。在插入字符串時,我們使用正則表達式來匹配不是數字和字母的字符,如果匹配到了就彈出一個提示框告訴用戶只能輸入數字和字母。

最后,我們在主函數中創建了一個 JFrame,將輸入限制器添加到其中,并設置了一些必要的參數,最終顯示出來。