代码之家  ›  专栏  ›  技术社区  ›  Gordon

用Java将文本字段中的所有字母大写

  •  8
  • Gordon  · 技术社区  · 14 年前

    是否可以将文本字段中的字母大写,因为它们是由Java中的用户键入的?

    例如,用户将键入“hello”,并且“hello”将出现在文本字段中。

    (奇怪的要求,我也不喜欢这个想法)。

    6 回复  |  直到 10 年前
        1
  •  9
  •   Glennular    14 年前
        2
  •  1
  •   user2266204    11 年前

    尝试

    jTextField.addKeyListener(new KeyAdapter() {
    
      public void keyTyped(KeyEvent e) {
        char keyChar = e.getKeyChar();
        if (Character.isLowerCase(keyChar)) {
          e.setKeyChar(Character.toUpperCase(keyChar));
        }
      }
    
    });
    
        3
  •  0
  •   Joachim Sauer    14 年前

    ModifyListener getText().toUpperCase() 是你的朋友。

        4
  •  0
  •   corsiKa    14 年前

    这可能是一种效率低下的方法

    但您可以在键类型事件处理程序中有一个节

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

    我可能有语法错误,但那是我要说的

        5
  •  -1
  •   Anders R. Bystrup    11 年前

    尝试

    private void inText_UserIDKeyReleased( java.awt.event.KeyEvent evt ) {
        String UsrID=inText_UserID.getText().toUpperCase();
        inText_UserID.setText( UsrID );
    }
    
        6
  •  -1
  •   Naiguel Santos    10 年前

    帮助那些觉得有趣的朋友:如何使用textfield写的信大写。EX:传奇:

    txtCadastrarNome =文本字段变量的名称。

    txtCadastrarNomeKeyTyped =从键盘键入时的操作。

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