package javacodebook.gui.layouts;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 * @author Benjamin Rusch
 * 
 * In diesem Frame wird das Layout auf GridLayout gesetzt. Das 
 * Gridlayout gibt eine Tabellenform vor, in dessen Felder die 
 * Komponenten eingebettet werden.
 */


public class GridFrame  extends Frame {
	
	private Button one 		= new Button("eins");
	private Button two 		= new Button("zwei");
	private Button three 		= new Button("drei");
	private Button four 		= new Button("vier");
	private Button five 		= new Button("fünf");
	private Button six 		= new Button("sechs");
	
	
	/**
 	* Konstruktor von GridFrame.  
 	*/	
	public GridFrame(String title) {
		
		super(title);
		
		// Beim Klicken des Schließen-Buttons vom HauptFenster
		// wird das Programm beendet.
		this.addWindowListener(new WindowAdapter() {
		    public void windowClosing(WindowEvent we) {
				System.exit(0);
		    }
		});
		
		// Im Konstruktor von GridLayout können die Dimensionen für
		// Zeilen und Spalten angegeben. Hierbei wird die erste Eingabe 
		// für Zeile oder Spalte die nicht null ist berücksichtigt, 
		// der andere Wert wird anhand der Anzahl hinzugefügter Komponentetn 
		// berechnet.
		GridLayout gridLayout= 	new GridLayout(3,2);
		
		// Über setHgap & setVgap kann zum Beispiel ein Abstand zwischen den 
		// Komponenten gesetzt werden
		gridLayout.setHgap(5);
		gridLayout.setVgap(5);
		
		
		// Hier wird die Contentpane auf GridLayout gesetzt
		this.setLayout(gridLayout);
		
		// die Komponenten füllen der Reihe nach die Matrix
		this.add(one);
		this.add(two);
		this.add(three);
		this.add(four);
		this.add(five);
		this.add(six);
	}
}
