2010-05-20 73 views

Trả lời

0

ModifyListenergetText().toUpperCase() là bạn của bạn.

+0

Đảm bảo bạn thử gõ ở giữa văn bản. – BCS

0

Đây có lẽ là một cách hiệu quả để làm điều đó

nhưng bạn có thể có một phần trong xử lý sự kiện KeyTyped bạn

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

tôi có thể có sai lầm syntatical, nhưng đó là apporach tôi muốn lấy

+0

Tôi nghĩ bạn sẽ gặp khó khăn với việc định vị con trỏ nếu bạn làm điều này. Nó cũng kém hiệu quả hơn nhiều so với cách DocumentFilter. – DJClayworth

+0

Bạn có thể đúng về định vị con trỏ. Bạn chắc chắn đúng về việc có những cách hiệu quả hơn để làm điều đó. – corsiKa

-1

Hãy thử

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

không, bạn _never_ sử dụng keyListeners trong Swing đặc biệt là không nếu nó tác dụng khả năng sử dụng như nặng như nó ở đây ;-) – kleopatra

1

Hãy thử

jTextField.addKeyListener(new KeyAdapter() { 

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

}); 
-1

Trợ giúp dành cho bạn bè tìm thấy nó thú vị: làm thế nào để làm cho các chữ cái được viết bằng TextField được viết hoa. Ví dụ: Chú thích:

txtCadastrarNome = tên của biến của trường văn bản.

txtCadastrarNomeKeyTyped = hành động khi nó được nhập từ bàn phím.

private void txtCadastrarNomeKeyTyped(java.awt.event.KeyEvent evt) { 
txtCadastrarNome.setText(txtCadastrarNomeCliente.getText().toUpperCase()); 
} 
Các vấn đề liên quan