How to get a JTextField to respond to the enter key

前端 未结 2 1368
忘了有多久
忘了有多久 2020-12-21 14:41

So I want to get a JTexField to put the text in it into a JTextArea when the enter key is pressed with the cursor in it. Can anyone help?

相关标签:
2条回答
  • Forget about using KeyListener for Swing components.

    This listener was designed for use with AWT components does not provide a reliable interaction mechanism for JTextComponents.

    Use an ActionListener instead - on the vast majority of systems an ActionEvent is dispatched by the JTextField when enter is pressed.

    myTextField.addActionListener(new ActionListener() {
    
        @Override
        public void actionPerformed(ActionEvent e) {
           myTextArea.append(myTextField.getText() + "\n");
        }
    });
    
    0 讨论(0)
  • 2020-12-21 15:21
        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());
                }
            }
        });
    
    0 讨论(0)
提交回复
热议问题