Panel ans Container für GUI Elemente

Im folgenden Beispiel wird der Button nicht direkt dem Frame Objekt hinzugefügt, sondern einem „Container“, dem Panel-Ojekt. Das Panel Objekt wird dann am Ende im Frame angezeigt. Damit hat man die Möglichkeit, zunächst dem Panel alle GUI Elemente hinzuzufügen, die man anzeigen möchte, und dann das Panel mit allen Elementen im Frame auszugeben.

import java.awt.*; import java.awt.event.*; public class HalloWelt extends Frame { // Ein Panel, um die Elemente aufzunehmen Panel panel= new Panel(); // Das Button Objekt Button button = new Button("Schaltfläche"); // Konstruktor public HalloWelt () { setTitle("Hallo Welt"); // Interaktionen mit dem Fenster behandeln addWindowListener(new TestWindowListener()); // Einstellungen für den Button button.setForeground(Color.RED); // Vordergrundfarbe auf "rot" setzen button.setBackground(Color.WHITE); // Hintergrundfarbe auf "weiß" setzen // Interaktionen mit dem Button behandeln button.addActionListener(new TestActionListener()); // EventListener für Schaltfläche hinzufügen // Button zum Panel-Container hinzufügen panel.add(button); // Dem Panel können jetzt weitere GUI Elemente zugefügt werden... // Panel im Fenster anzeigen add(panel); pack(); // Fenstergröße auf die benötigte Größe // "zusammenpacken" setVisible(true); } class TestWindowListener extends WindowAdapter { public void windowClosing(WindowEvent e) { e.getWindow().dispose(); System.exit(0); } } class TestActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("Schaltfläche wurde gedrückt"); } } public static void main (String args[]) { new HalloWelt(); } }

Aufgaben

Teste das neue Programm

Füge einen weiteren Button hinzu, der einen anderen Text auf der Konsole ausgibt, wenn er angeklickt wird.