import javax.swing.*;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class JButtonMitListenerAnonym
{
	public static void main(String[] args)
	{
		// Anlegen des Fensters
		JFrame einFenster = new JFrame("Schaltflaeche mit Nachrichtenverarbeitung");

		einFenster.setSize(300, 100);
		einFenster.getContentPane().setLayout(new GridLayout(2,1));
		
		final JTextArea einTextFeld = new JTextArea();
		JScrollPane scrollPane = new JScrollPane(einTextFeld);

		JButton eineSchaltflaeche =  new JButton("Text eintragen");
		// Schalflaeche bekommt ein Lauschobjekt in Form einer anonymen Klasse zugewiesen
		eineSchaltflaeche.addActionListener(
			new ActionListener() {
				public void actionPerformed(ActionEvent e)
				{
					// Wenn nichts anderes angegeben ist, ist der Befehlsname
					// mit der Beschriftung der Schaltflaeche identisch
					// sonst über setActionCommand() direkt anzugeben
					if (e.getActionCommand().equals("Text eintragen"))
					{
						// Beispieltext wird im Textfeld angehaengt
						einTextFeld.setText(einTextFeld.getText() + " Test text wurde ausgegeben.");
					}
				}
			}
		);
		
		einFenster.getContentPane().add(eineSchaltflaeche);
		einFenster.getContentPane().add(scrollPane);
		einFenster.setVisible(true);
	}

}
