/*
P R O G R A M M B E S C H R E I B U N G
In diesem Programm wird ein Button erzeugt, der angeklickt werden muß.
Nach jedem Mausklick wird die Meldung "Ich wurde angeklickt" ausgegeben.
*/

package de;
import javax.swing.*;      // GUI Komponente

import java.awt.*;         // Layouts
import java.awt.event.*;   // Ereignisse


// Hier wird ein Objekt der selbstgebastelten Klasse MyFenster erzeugt
public class MainListener10 {
	public static void main(String[] args) {
		MyFenster myf = new MyFenster();	
		myf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
	}
}

//Ein Frame ist ein Fenster bzw. Fenstersegment
//Es ist nach seiner Erzeugung zuerst anfänglich unsichtbar
//Hier wird die von JFrame abgeleitete Klasse MyFenster gebastelt, die 
//damit die ganze Leistungsfähigkeit von JFrame erbt.
class MyFenster extends JFrame {
	// Stelle in MyFenster deklarieren, an die montiert wird.
	private Container mycont;
	// Eine Zeichenfläche deklarieren
	private JPanel mypan;
	// Ein Button (Schalter) deklarieren
	private JButton myb;
	// Eine Wanze deklarieren
	private MyWanze myw;

	// Konstruktor
	public MyFenster() {
		// Liefert die Stelle in MyFenster, an die montiert wird.
		mycont = getContentPane();
		// Erzeugt eine Zeichenfläche
		mypan = new JPanel();
		// Erzeugt einen Button
		myb = new JButton("Bitte klicke hier drauf");
		// Erzeugt eine Wanze
		myw = new MyWanze();
		// Montiert die Wanze an den Button
		myb.addActionListener(myw);
		// Montiert den Button an die Zeichenfläche		
		mypan.add(myb);
		// Montiert die Zeichenfläche in das Fenster MyFenster
		mycont.add(mypan);
		// Fensterüberschrift festlegen
		setTitle("Ein Klick-Test");
		// Koordinaten des linken, oberen Ecks des Fensters festlegen
		// Koordinate x = 100, Koordinate y = 200.		
		setLocation(100,200);
		// Die Breite des Fensters in x-Richtung = 400
		// Die Breite des Fensters in y-Richtung = 200		
		setSize(400,200);
		// Macht das Fenster sichtbar		
		setVisible(true);
	}
}

class MyWanze implements ActionListener {
	// Konstruktor
	public MyWanze(){
	}

	public void actionPerformed (ActionEvent myae) {
		// Bringt Meldung auf dem Bildschirm
		System.out.println("Ich wurde angeklickt");
	}
}


