2010-05-20 14 views

Odpowiedz

0

ModifyListener i getText().toUpperCase() są Twoimi przyjaciółmi.

+0

Upewnij się, że testujesz pisanie w środku tekstu. – BCS

0

Jest to prawdopodobnie nieefektywny sposób to zrobić

ale można mieć przekrój w KeyTyped obsługi zdarzeń

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

mógłbym syntatical błędy, ale to apporach chciałbym wziąć

+0

Myślę, że będziesz mieć kłopoty z pozycjonowaniem kursora, jeśli to zrobisz. Jest również znacznie mniej wydajny niż sposób DocumentFilter. – DJClayworth

+0

Możesz mieć rację co do pozycjonowania kursora. Masz absolutną rację, że istnieją skuteczniejsze sposoby na to. – corsiKa

-1

Spróbuj

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

no, ty _never_ używaj keyListeners w Swing zwłaszcza, jeśli ma to wpływ na użyteczność tak źle, jak tutaj ;-) – kleopatra

1

Spróbuj

jTextField.addKeyListener(new KeyAdapter() { 

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

}); 
-1

Pomoc dla znajomych, którzy znajdują to interesujące: jak sprawić, by litery pisane w tekście były pisane dużą literą. Np .: Legenda:

txtCadastrarNome = nazwa zmiennej pola tekstowego.

txtCadastrarNomeKeyTyped = czynność, gdy jest wpisywana z klawiatury.

private void txtCadastrarNomeKeyTyped(java.awt.event.KeyEvent evt) { 
txtCadastrarNome.setText(txtCadastrarNomeCliente.getText().toUpperCase()); 
} 
Powiązane problemy