Event Handling JTextArea auf bestimmte Eingabe reagieren (Return-Taste)

Flotrix

Mitglied
Guten Tag,

ich möchte gerne eine bestimmte Aktion ausführen, wenn der Nutzer die Return-Taste innerhalb eines JTextAreas betätigt. Gibt es hierzu die Möglichkeit eine solche Aktion herauszufiltern?

Ich hoffe jemand kann und mag mir helfen

Mit freundlichen Grüßen
Flo
 
Geht ganz einfach mit einem KeyListener auf die TextArea:

Java:
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class TextAreaKeyListener {

  public static void main(String[] args) {
    SwingUtilities.invokeLater(() -> new TextAreaKeyListener());
  }

  public TextAreaKeyListener() {
    JFrame frame = new JFrame("TextAreaKeyListener");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationByPlatform(true);
    frame.setSize(600, 400);

    JPanel mainPanel = new JPanel(new BorderLayout());
    JTextArea area = new JTextArea();
    area.addKeyListener(new KeyAdapter() {

      @Override
      public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
          JOptionPane.showMessageDialog(frame, "Backspace is prohibited!", "Prohibited key detected!", JOptionPane.WARNING_MESSAGE);
          e.consume();
        }
      }
    });

    mainPanel.add(area, BorderLayout.CENTER);

    frame.add(mainPanel);
    frame.setVisible(true);
  }

}
 

Zurück
Oben