开发者

Capitalize all letters in a Textfield in Java

Is it to possible to capitalize the letters in a Textfield as th开发者_Python百科ey are being typed by the user in Java?

E.g. The user would type 'hello' and 'HELLO' would appear in the Textfield.

(Odd request and I don't like the idea either).


Format JTextField's text to uppercase

Uses DocumentFilter

or

How to Use Formatted Text Fields

Uses MaskFormatter


Try

jTextField.addKeyListener(new KeyAdapter() {

  public void keyTyped(KeyEvent e) {
    char keyChar = e.getKeyChar();
    if (Character.isLowerCase(keyChar)) {
      e.setKeyChar(Character.toUpperCase(keyChar));
    }
  }

});


ModifyListener and getText().toUpperCase() are your friends.


This is probably an inefficient way to do it

but you could have a section in your KeyTyped event handler

if(event.getSource() == capitalTextArea) {
    String text = capitalTextArea.getText();
    if(Character.isLowerCase(text.charAt(text.length()-1))) {
        capitalTextArea.setText(text.toUpperCase());
    }
}

I might have syntatical mistakes, but that's the apporach i'd take


Try

private void inText_UserIDKeyReleased( java.awt.event.KeyEvent evt ) {
    String UsrID=inText_UserID.getText().toUpperCase();
    inText_UserID.setText( UsrID );
}


A help for friends who find it interesting: how to make letters written in TextField capitalized. Ex: Legend:

txtCadastrarNome = name of the variable of text field.

txtCadastrarNomeKeyTyped = action when it is being typed from the keyboard.

private void txtCadastrarNomeKeyTyped(java.awt.event.KeyEvent evt) { 
txtCadastrarNome.setText(txtCadastrarNomeCliente.getText().toUpperCase());
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜