Hallo Welt mit AWT

Speichere das folgende Programm auf deinem Computer, Compiliere es und führe es aus.

import java.awt.*; import java.awt.event.*; public class HalloWelt extends Frame { // 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 add(button); // Schaltfläche zum Fenster hinzufügen 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(); } }

Beantworte die folgenden Fragen

Was bedeutet es dass die Klasse "HalloWelt" als "extends Frame" deklariert wird? welche Rolle spielt der Begriff der Vererbung dabei?

Was passiert, wenn man die Zeile addWindowListener(new TestWindowListener()); auskommentiert? Erkläre das Verhaöten des Programms ohne diese Zeile - und umgekehrt die Funktion des WindowListeners.