如何让JTextField响应回车键

时间:2013-05-04 20:56:21

标签: java swing jtextfield keylistener enter

所以我希望得到一个文本字段,当按下回车键并将光标放入其中时,将文本放入TextArea中。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:15)

忘记将KeyListener用于Swing组件。

此侦听器旨在与AWT组件一起使用,但不为JTextComponents提供可靠的交互机制。

使用ActionListener代替 - 在绝大多数系统中,ActionEvent会在按下Enter时调度JTextField

myTextField.addActionListener(new ActionListener() {

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

答案 1 :(得分:0)

    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());
            }
        }
    });