是否可以在文本字段中使用大寫字母,因爲它們是由Java中的用戶鍵入的?在Java中使用Textfield中的所有字母大寫
E.g.用戶會輸入'hello','HELLO'會出現在Textfield中。
(奇怪的要求,我也不喜歡這個想法)。
是否可以在文本字段中使用大寫字母,因爲它們是由Java中的用戶鍵入的?在Java中使用Textfield中的所有字母大寫
E.g.用戶會輸入'hello','HELLO'會出現在Textfield中。
(奇怪的要求,我也不喜歡這個想法)。
Format JTextField's text to uppercase
用途DocumentFilter
或
How to Use Formatted Text Fields
用途MaskFormatter
ModifyListener
和getText().toUpperCase()
是你的朋友。
這可能是做
方式效率極低,但你可以有一個部分在你的keyTyped事件處理程序
if(event.getSource() == capitalTextArea) {
String text = capitalTextArea.getText();
if(Character.isLowerCase(text.charAt(text.length()-1))) {
capitalTextArea.setText(text.toUpperCase());
}
}
我可能有syntatical失誤,但是這是apporach我會拿
我認爲如果你這樣做,你會遇到光標定位問題。它也比DocumentFilter方式效率低得多。 – DJClayworth 2010-05-20 15:06:36
你可能對光標定位是正確的。你肯定有更高效的方法來做到這一點。 – corsiKa 2010-05-20 15:21:54
嘗試
private void inText_UserIDKeyReleased(java.awt.event.KeyEvent evt) {
String UsrID=inText_UserID.getText().toUpperCase();
inText_UserID.setText(UsrID);
}
不,你_永遠_在Swing使用keyListeners特別是如果沒有它會影響使用性不好,因爲它確實在這裏;-) – kleopatra 2013-02-06 12:48:50
嘗試
jTextField.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char keyChar = e.getKeyChar();
if (Character.isLowerCase(keyChar)) {
e.setKeyChar(Character.toUpperCase(keyChar));
}
}
});
對尋找朋友的人有幫助它很有趣:如何使TextField中的字母大寫。例如:圖例:
txtCadastrarNome
=文本字段變量的名稱。
txtCadastrarNomeKeyTyped
=行動時,它被從鍵盤輸入。
private void txtCadastrarNomeKeyTyped(java.awt.event.KeyEvent evt) {
txtCadastrarNome.setText(txtCadastrarNomeCliente.getText().toUpperCase());
}
確保您在文字中間測試打字。 – BCS 2010-05-20 14:50:28