【问题标题】:How to get a JTextField to respond to the enter key如何让 JTextField 响应回车键
【发布时间】:2013-04-29 00:52:17
【问题描述】:

所以我想要一个 JTexField 将其中的文本放入 JTextArea 中,当光标在其中按下回车键时。有人可以帮忙吗?

【问题讨论】:

    标签: java swing jtextfield keylistener enter


    【解决方案1】:
        JTextArea myJTextArea = new JTextArea();
        myJTextArea.setBounds(200, 15, 258, 28);
        myJPanel.add(myJTextArea);
    
        JTextField myJTextField = new JTextField();
        myJTextField.setBounds(15, 15, 130, 28);
        myJPanel.add(myJTextField);
        myJTextField.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                if(e.getKeyCode() == KeyEvent.VK_ENTER) {
                    myJTextArea.setText(myJTextField.getText());
                }
            }
        });
    

    【讨论】:

      【解决方案2】:

      忘记将KeyListener 用于Swing 组件。

      此侦听器是为与AWT 一起使用而设计的,组件不为JTextComponents 提供可靠的交互机制。

      改用ActionListener - 在绝大多数系统上,ActionEvent 在按下回车键时由JTextField 调度。

      myTextField.addActionListener(new ActionListener() {
      
          @Override
          public void actionPerformed(ActionEvent e) {
             myTextArea.append(myTextField.getText() + "\n");
          }
      });
      

      【讨论】:

      • 但是我如何使它特定于回车键?
      • ActionListenerJTextField 的回车键触发
      • ActionEvent 由系统/外观“接受”动作自动触发。在大多数情况下,这是回车键
      猜你喜欢
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 2023-02-01
      相关资源
      最近更新 更多