Reputation: 331
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?
Upvotes: 2
Views: 22315
Reputation: 71
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());
}
}
});
Upvotes: 0
Reputation: 159874
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");
}
});
Upvotes: 16