/* B E S C H R E I B U N G
Zusätzlich zum letzten Programm wird beim Anklicken eines Menüeintrags
ein Fenster auf dem Bildschirm erzeugt, das durch den Anwender wieder
geschlossen werden kann.
*/
package jmenu2;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;


public class MainJMenu2 {
    public static void main(String[] args) {
	MyFenster myf = new MyFenster();
	myf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

class MyFenster extends JFrame{
	// Konstruktor
	public MyFenster(){
        // Menüzeile erstellen
        JMenuBar menuZeile = new JMenuBar();
        // Ein Menü festlegen
        JMenu hilfeMenu = new JMenu( "Hilfe" );
        // Ein Menü in der Menüzeile anbringen
        menuZeile.add( hilfeMenu );
        // Einen Menüeintrag erstellen
        JMenuItem beschreibungEintrag = new JMenuItem("Beschreibung");
        // Menüeintrag in das Menü anbringen
        hilfeMenu.add(beschreibungEintrag);
        // Menüzeile im JFrame anbringen
        setJMenuBar(menuZeile);
        // Wanze erstellen
        MyMenuListener ml= new MyMenuListener();
        // Wanze an Menüeintrag anbringen
        beschreibungEintrag.addActionListener(ml);
        // an Listener (zur Unterscheidung) weitergegeben
        beschreibungEintrag.setActionCommand("1");

        // Einen weiteren Menüeintrag erstellen
        JMenuItem infoEintrag = new JMenuItem("Info");
        // Menüeintrag in das Menü anbringen
        hilfeMenu.add(infoEintrag);
        // Wanze an Menüeintrag anbringen
        infoEintrag.addActionListener(ml);
        // an Listener (zur Unterscheidung) weitergegeben
        infoEintrag.setActionCommand("2");
		// Fensterüberschrift festlegen
		setTitle("Meine Zeichnung");
		// Koordinaten des linken, oberen Ecks des Fensters festlegen
		// Koordinate x = 30, Koordinate y = 60.
		setLocation(30,60);
		// Die Breite des Fensters in x-Richtung = 600
		// Die Breite des Fensters in y-Richtung = 400
		setSize(600,400);
		// Macht das Fenster sichtbar
		setVisible(true);
	}
}


class MyMenuListener implements ActionListener {
    public void actionPerformed(ActionEvent e){
        if (e.getActionCommand().equals("1")) {
            System.out.println("1.Eintrag");
        	BeschreibungFenster bf = new BeschreibungFenster();
            bf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

        }
        else if (e.getActionCommand().equals("2")) {
            System.out.println("2.Eintrag");
        }
    }
}




class BeschreibungFenster extends JFrame{
    private Container mycont;

	// Konstruktor
	public BeschreibungFenster(){
        //Container mycont;
        // Eine Zeichenfläche deklarieren
        JTextArea text=new JTextArea();
		mycont = getContentPane();

        //text.setText("Programmbeschreibung");
        text.setLineWrap(true);

        text.setText("Programmbeschreibung:\n"+
"Die Farbe eines Autos und eines Fahrers kann ausgewählt werden.\n"+
"Wird keine Farbe ausgewählt wird eine Standardfarbe benutzt bzw.\n"+
"die zuletzt ausgwählte Farbe benutzt.\n\n"+
"In die x-Position und die y-Position müssen positive ganze Zahlen" +
"geschrieben und jeweils mit ENTER bestätigt werden.\n\n" +
"Werden keine Zahlen (sondern z.B. Buchstaben) angegeben oder negative" +
"oder zu große Zahlen (außerhalb des Fensters) angegeben, dann wählt das " +
"Programm selbst eine Position aus");


        mycont.add(text);

		// Fensterüberschrift festlegen
		setTitle("Meine Zeichnung");
		// Koordinaten des linken, oberen Ecks des Fensters festlegen
		// Koordinate x = 30, Koordinate y = 60.
		setLocation(30,60);
		// Die Breite des Fensters in x-Richtung = 600
		// Die Breite des Fensters in y-Richtung = 400
		setSize(600,400);
		// Macht das Fenster sichtbar
		setVisible(true);
	}
}



