gpt4 book ai didi

Java - 如何强制 JTextField 具有字母数字值

转载 作者:行者123 更新时间:2023-11-29 07:01:13 26 4
gpt4 key购买 nike

我希望 JTextField 只接受字母和数字。但它应该包含两者。它不应仅包含字母,也不应仅包含数字。

最佳答案

你应该使用 DocumentFilter它将实时过滤文本字段的输入。

查看一些 swing+jtextfield+documentfilter一些其他来源的标记问题。

这是一个简单的例子

public class FieldFilterDemo {

public static void main(String[] args) {
JTextComponent field = getFilteredField();
JOptionPane.showMessageDialog(null, field);

}

static JTextComponent getFilteredField() {
JTextField field = new JTextField(15);
AbstractDocument doc = (AbstractDocument) field.getDocument();
doc.setDocumentFilter(new DocumentFilter() {
public void replace(FilterBypass fb, int offs, int length,
String str, AttributeSet a) throws BadLocationException {
super.replace(fb, offs, length,
str.replaceAll("[^0-9a-zA-Z]+", ""), a);
}

public void insertString(FilterBypass fb, int offs, String str,
AttributeSet a) throws BadLocationException {
super.insertString(fb, offs,
str.replaceAll("[^0-9a-zA-Z]+", ""), a);
}
});
return field;
}
}

关于Java - 如何强制 JTextField 具有字母数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25782655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com