2010-05-20 7 views

Répondre

0

ModifyListener et getText().toUpperCase() sont vos amis.

+0

Assurez-vous de tester la saisie au milieu du texte. – BCS

0

Ceci est probablement un moyen inefficace de le faire

mais vous pourriez avoir une section dans votre gestionnaire d'événements keyTyped

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

je pourrais avoir des erreurs syntatical, mais c'est le apporach je prendrais

+0

Je pense que vous aurez des problèmes avec le positionnement du curseur si vous faites cela. Il est également beaucoup moins efficace que la méthode DocumentFilter. – DJClayworth

+0

Vous avez peut-être raison concernant le positionnement du curseur. Vous avez certainement raison de dire qu'il existe des moyens plus efficaces de le faire. – corsiKa

-1

Essayez

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

non, vous _never_ utiliser keyListeners dans Swing surtout pas si cela affecte la facilité d'utilisation aussi mal qu'ici ;-) – kleopatra

1

Essayez

jTextField.addKeyListener(new KeyAdapter() { 

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

}); 
-1

Une aide pour les amis qui trouvent C'est intéressant: comment mettre en majuscule les lettres écrites dans TextField. Ex: Légende:

txtCadastrarNome = nom de la variable du champ de texte.

txtCadastrarNomeKeyTyped = action lors de la saisie à partir du clavier.

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