【问题标题】:Capitalize all letters in a Textfield in Java将Java文本字段中的所有字母大写
【发布时间】:2010-05-20 14:45:43
【问题描述】:

当用户在 Java 中键入时,是否可以将 Textfield 中的字母大写?

例如用户输入“hello”,“HELLO”将出现在文本字段中。

(奇怪的请求,我也不喜欢这个主意)。

【问题讨论】:

    标签: java swing text


    【解决方案1】:

    Format JTextField's text to uppercase

    使用DocumentFilter

    How to Use Formatted Text Fields

    使用MaskFormatter

    【讨论】:

      【解决方案2】:

      试试

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

      【讨论】:

        【解决方案3】:

        ModifyListenergetText().toUpperCase() 是你的朋友。

        【讨论】:

        • 确保您在文本中间测试输入。
        【解决方案4】:

        这可能是一种低效的方法

        但您可以在 KeyTyped 事件处理程序中有一个部分

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

        我可能有语法错误,但这是我要采取的方法

        【讨论】:

        • 我认为如果你这样做,你会遇到光标定位问题。它也比 DocumentFilter 方式效率低得多。
        • 您可能是正确的光标定位。关于有更有效的方法来做到这一点,你绝对是对的。
        【解决方案5】:

        试试

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

        【讨论】:

        • 不,你从不在 Swing 中使用 keyListeners,尤其是当它像这里一样严重影响可用性时;-)
        【解决方案6】:

        给觉得有趣的朋友一个帮助:如何让TextField中的字母大写。例如:图例:

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

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

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

        【讨论】:

          猜你喜欢
          • 2021-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-01
          相关资源
          最近更新 更多