在 NetBeans 中,如何为 JFormattedTextField
设置无效字符,以便它不允许:|
、[
、]
等等?
没关系,我找到了解决方案:
MaskFormatter formatter = null;
try {
//# - Any valid number, uses Character.isDigit.
//' - Escape character, used to escape any of the special formatting characters.
//U - Any character (Character.isLetter). All lowercase letters are mapped to upper case.
//L - Any character (Character.isLetter). All upper case letters are mapped to lower case.
//A - Any character or number (Character.isLetter or Character.isDigit)
//? - Any character (Character.isLetter).
//* - Anything.
//H - Any hex character (0-9, a-f or A-F).
formatter = new MaskFormatter("******************************");
formatter.setInvalidCharacters("|[]");
} catch (java.text.ParseException ex) {
}
然后,在 GUI 上右键单击 JFormattedTextField,单击“自定义代码”,在 myFormattedTextField = new javax.swing.JFormattedTextField();
旁边的下拉框中选择自定义创建并将格式化程序添加到 JFormattedTextField如下: myFormattedTextField = new javax.swing.JFormattedTextField(formatter);
希望有一天这能对其他人有所帮助。
最佳答案
最方便的方法是添加 DocumentListener那里Pattern ,JFormattedTextField
的值可以插入(字符 block )或逐个字符添加,我建议重写这两种方法
insertUpdate()
changedUpdate()//Plain text components don't fire these events.
对于插入的字符 block ,最好直接实现Pattern p = Pattern.compile("decision charfiltering")
关于java - 如何禁止 JFormattedTextField 中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8434731/