概述
JTextField textField = new JTextField();
textField.addCaretListener(new CaretListener() {
public
void
caretUpdate(CaretEvent e) {
JTextField textField = (JTextField) e.getSource();
// 获得触发事件的 JTextField
String text = textField.getText();
if
(text.length() ==
0
) {
return
;
}
char
ch = text.charAt(text.length() -
1
);
if
(!(ch >=
'0'
&& ch <=
'9'
// 数字
|| ch >=
'A'
&& ch <=
'z'
// 字母
|| ch >=
'u4E00'
&& ch <=
'u9FA5'
)) {
// 中文,最常用的范围是 U+4E00~U+9FA5,也有使用 U+4E00~ U+9FFF 的,但目前 U+9FA6~U+9FFF 之间的字符还属于空码,暂时还未定义,但不能保证以后不会被定义
JOptionPane.showMessageDialog(textField,
"只能输入中文,字母,数字"
,
"提示"
, JOptionPane.INFORMATION_MESSAGE);
SwingUtilities.invokeLater(
new
Runnable() {
@Override
public
void
run() {
// 去掉 JTextField 中的末尾字符
textField.setText(text.substring(
0
, text.length() -
1
));
}
});
}
}
});
最后
以上就是幸福酒窝为你收集整理的限制swing中的JTextField只能输入中文,字母,数字。的全部内容,希望文章能够帮你解决限制swing中的JTextField只能输入中文,字母,数字。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复