键入时将文本转换为大写

时间:2018-01-26 04:21:52

标签: java netbeans textfield

我有JTextField的这个JFrame,我想让我输入的每个字母都自动转换为大写 WHILE 我在这个JTextField中输入。

我正在使用Netbeans。

1 个答案:

答案 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