import java.awt.Color;
import java.awt.Adjustable;
import javax.swing.*;

public class JControlTest
{
	public static void main(String[] args)
	{
		JPanel flaeche;
		JButton knopf;
		JPanel leinwand;
		JCheckBox kreuzel;
		JComboBox  auswahl;
		JLabel   beschriftung;
		JList liste;
		JScrollBar rollbalken;
		JTextField textFeld;
		JTextArea textBereich;
	
		// Aufruf des Konstruktors der Klasse JFrame und
		// Setzen der Überschrift des Hauptfensters
		JFrame derTest = new JFrame("Hauptfenster mit verschiedenen Steuerelementen");

		// Einstellen der Position und Größe des Hauptfensters
		derTest.setLocation(0,0);
		derTest.setSize(450,450);
		
		// Knopf erzeugen
		knopf = new	 JButton("eine Schaltläche");
		
		// Zeichenfläche erzeugen, Hintergrundfarbe und Größe einstellen
		leinwand = new JPanel();
		leinwand.setBackground(Color.cyan);
		leinwand.setSize(50,50);
		
		// Markierungsfeld erzeugen
		kreuzel = new JCheckBox("Hier ankreuzen!",  true);
		
		// Auswahlliste erzeugen und drei Einträge hinzufügen
		auswahl = new JComboBox();
		auswahl.addItem("erster Eintrag");
		auswahl.addItem("zweiter Eintrag");
		auswahl.addItem("dritter Eintrag");
		
		// Textzeile erzeugen
		beschriftung = new JLabel("Hier ist die Beschriftung");
		
		// Kombinationsfeld erzeugen und fünf Einträge hinzufügen
		Object[] listenInhalt = {	"erster Eintrag",
									"zweiter Eintrag",
									"dritter Eintrag",
									"vierter Eintrag",
									"fünfter EIntrag"};
		liste = new JList(listenInhalt);
		JScrollPane derListenScroller = new JScrollPane(liste);		
		
		// Horizontalen Rollbalken erzeugen
		rollbalken = new JScrollBar(Adjustable.HORIZONTAL,40,40,20,100);
		
		// Einzeiliges Eingabefeld erzeugen
		textFeld= new JTextField("Eintrag im Textfeld",20);
		
		// Mehrzeiliges Eingabefeld erzeugen
		textBereich = new JTextArea("Eintrag im Textbereich", 5, 30);

        // Fläche erzeugen, Größe, Position und Layout-Manager einstellen
		flaeche = new JPanel();
		flaeche.setSize(derTest.getSize());
		flaeche.setLocation(0,0);
		//flaeche.setLayout(new GridLayout(3,3));

		// Steuerelemente zur Fläche hinzufügen
		flaeche.add(knopf);
		flaeche.add(leinwand);
		flaeche.add(kreuzel);
		flaeche.add(auswahl);
		flaeche.add(beschriftung);
		flaeche.add(derListenScroller);
		flaeche.add(rollbalken);
		flaeche.add(textFeld);
		flaeche.add(textBereich);
		
		// Fläche dem Hauptfenster hinzufügen
		derTest.getContentPane().add(flaeche);
		
		// Hauptfenster anzeigen
		derTest.setVisible(true);
	}
}
