我有JTextField的这个JFrame,我想让我输入的每个字母都自动转换为大写 WHILE 我在这个JTextField中输入。
我正在使用Netbeans。
答案 0 :(得分:1)
class UpperCaseDocument extends PlainDocument {
private boolean upperCase = true;
public void setUpperCase(boolean flag) {
upperCase = flag;
}
public void insertString(int offset, String str, AttributeSet attSet)
throws BadLocationException {
if (upperCase)
str = str.toUpperCase();
super.insertString(offset, str, attSet);
}
}
JTextField tf = new JTextField(20);
UpperCaseDocument ucd = new UpperCaseDocument();
//Associates the editor with a text document.
tf.setDocument(ucd);
来源:Force JTextField to convert input to upper case with PlainDocument in Java