ActionListener reagiert auf Knopfdruck ohne Actionevent e?

Hier wird dem Button einen ActionListener mit einem ButtonListener Objekt übergegeben. In der inneren Klasse implementiert ButtonListener vom ActionListener. Es erfolgt aber kein Actionevent e. Warum wird dann der Methodenkörper ausgeführt nach einem Knopfdruck wenn der Knopdruck nicht dem Parameter e hinzugeteilt wurde? Also so if( e.getSource() == this.button).

Ich schätze das hat was mit dem ButtonListener zu tun nur ich verstehe nicht wie. Danke für die Eklärung


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class FightClubFrame extends JFrame {
// Deklaration der Bestandteile
	private JTextField textField;
	private JLabel label;
	private JButton button;
	private JPanel panel;

	public FightClubFrame() {
// Erzeugung der einzelnen Elemente
		button = new JButton(" Talk ");
		button.addActionListener(new ButtonListener());
		label = new JLabel();
		textField = new JTextField();
		panel = new JPanel(new GridLayout(2, 1));
// Festlegung der Eigenschaften des Frames
		setTitle(" Fight Club ");
		setLayout(new BorderLayout());
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(300, 150);
// Aufbau der verschachtelten Oberfl¨ache
		panel.add(label);
		panel.add(textField);
		add(panel, BorderLayout.CENTER);
		add(button, BorderLayout.SOUTH);
	}

	class ButtonListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent e) {
			String input = textField.getText();
			if (input.contains("Fight Club")) {
				label.setText("Lets Fight");
			} else {
				label.setText("Dont Fight");
			}
		}
	}

	public static void main(String[] args) {
// Erzeugung einer Instanz des Frames
		FightClubFrame frame = new FightClubFrame();
		frame.setVisible(true);
	}
}
Computer, Java, Informatik, jButton

Meistgelesene Beiträge zum Thema Computer