import java.awt.*;
import java.awt.event.*;

public class SteuerFenster extends WindowAdapter implements ActionListener
{
	// Schaltflächen zur Steuerung (als Array angelegt)
	Button[] 	dieKnoepfe = new Button[8];

	// das zu steuernde Fenster als Attribut von SteuerFenster
	ControlTest einTestFenster;
	Frame dasSteuerFenster;

	public static void main(String[] args)
	{
		new SteuerFenster();
	}

	public SteuerFenster()
	{
		// ein Fenster mit den verschiednen Kontrollelementen wird erzeugt
		einTestFenster = new ControlTest();

		dasSteuerFenster = new Frame("Steuerung");
		dasSteuerFenster.setLayout(new GridLayout(2,4));
		dasSteuerFenster.setSize(400,200);
		dasSteuerFenster.setLocation(0,150);
		dasSteuerFenster.addWindowListener(this);

		// Erzeugen der Steuerschaltflächen und Zuordnung des ActionListeners
		dieKnoepfe[0] = new Button("Knopf"); 				
		dieKnoepfe[1] = new Button("Leinwand");		
		dieKnoepfe[2] = new Button("Kreuzel");				
		dieKnoepfe[3] = new Button("Auswahl");			
		dieKnoepfe[4] = new Button("Beschriftung");	
		dieKnoepfe[5] = new Button("Liste");					
		dieKnoepfe[6] = new Button("TextFeld");			
		dieKnoepfe[7] = new Button("TextBereich");	

		// Einfügen der Schaltflächen in das SteuerFenster
		for(int i = 0; i < dieKnoepfe.length; i++)
		{
			dieKnoepfe[i].addActionListener(this);		
			dasSteuerFenster.add(dieKnoepfe[i]);
		}

        // Anzeigen des Steuerfensters
		dasSteuerFenster.setVisible(true);
	}

	// Implementierung der actionPerformed-Methode aus der
	// Schnittstelle ActionListener
	public void actionPerformed(ActionEvent e)
	{
		String Befehl = e.getActionCommand();
		if(Befehl.equals("Knopf"))
		{einTestFenster.Knopf.setLabel("neuesLabel für Knopf");}
		if(Befehl.equals("Leinwand"))
		{einTestFenster.Leinwand.setBackground(Color.magenta);}
		if(Befehl.equals("Kreuzel"))
		{einTestFenster.Kreuzel.setState(false);}
		if(Befehl.equals("Beschriftung"))
		{einTestFenster.Beschriftung.setText("neue Beschriftung");}
		if(Befehl.equals("Auswahl"))
		{einTestFenster.Auswahl.insert("neuer Eintrag", 0);}
		if(Befehl.equals("Liste"))
		{einTestFenster.Liste.add("neuer Eintrag", 0);}
		if(Befehl.equals("TextFeld"))
		{einTestFenster.TextFeld.setText("neuer Text");}
		if(Befehl.equals("TextBerei ch"))
		{einTestFenster.TextBereich.setText("neuer Text");}
	}

	// Implementierung der Methode windowClosing (ererbt
	// aus der Oberklasse WindowAdapter)
	// Das Ereignis tritt auf, wenn der Quit-Button gedrückt
	// wurde; ermöglicht das Schlißen des Fensters
	public void windowClosing(WindowEvent e)
	{
		System.exit(0);
	}
}

