package javacodebook.gui.toolbar; import java.awt.*; import java.awt.event.*; /** * * Diese Frame besitz ein Textfeld im Zentrum und * eine Buttonleiste im Norden des Frames. Da die * Buttonleiste ein anderes Layout besitzt sprechen wir * hier von verschachtelten Layouts. * Wie in diesem Beispiel bildet das BorderLayout * oft nur die Basis für ein weitaus komplexeres Layout. * * Man kann sich gut vorstellen wie basierend auf dem * Konzept der Verschachtelung von Layouts viele * Applikationen nachgebaut werden können. */ public class ToolBarFrame extends Frame { // Komponenten für die Buttonleiste 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"); private TextArea center = new TextArea(5,20); // Container für die Buttonleiste private Panel northPanel = new Panel(); /** * Konstruktor von ToolbarFrame. */ public ToolBarFrame(String title) { super(title); this.setLayout(new BorderLayout()); // // Das Layout vom northPanel wird auf FlowLayout gesetzt, die // Buttons werden am linken Rand ausgerichtet, der Abstand // zwischen ihnen beträgt 2 Pixel. FlowLayout fl = new FlowLayout(FlowLayout.LEFT,2,2); northPanel.setLayout(fl); // Die Buttons werden auf das Panel platziert, anschließend wird // das Panel in den NOTRTH-Bereich des darunter liegenden Frames // gelegt. northPanel.add(one); northPanel.add(two); northPanel.add(three); northPanel.add(four); northPanel.add(five); northPanel.add(six); this.add(northPanel,BorderLayout.NORTH); // // Die TextArea wird in unserem Beispiel direkt in den CENTER- // Bereich gelegt, auf diese Weise passt sich Ihrer größe immer // der Fenstergröße an. this.add(center,BorderLayout.CENTER); } }