Übungsaufgabe 24

Implementieren Sie die Übungsaufgabe 23 (Wochentage) als Swing-Anwendung (main). Für die Auswahl des Wochentages schreiben Sie ein Choice. Das Menü soll die Menüpunkte "Morgen" und "Gestern" enthalten; Sie sollen zwei Knöpfe "Morgen" und "Gestern" mit den selben Ereignissen verbinden (s. Programm VerteilteEreignisse aus dem Kapitel 6.5.6). Schreiben Sie nur einen Lauscher, in dem Sie das ActionEvent-Parameterobjekt mit getActionCommand() abfragen und eine Verzweigung (if) schreiben. Aus Ihrem Choice-Objekt können Sie mit getSelectedIndex() die Nummer der Auswahl erhalten; sie müssen diese mit ++ oder -- modifizieren, um das Choice-Objekt mit select() auf den errechneten Tag zu setzen. Zeigen Sie das Ergebnis auch in Ihrem Fenster an.

Diese einfache swing-Anwendung wird ähnlich wie eine awt-Anwendung programmiert. Anstelle der awt-Klassen werden Klassen wie

javax.swing.JApplet
javax.swing.JButton
javax.swing.JLabel
javax.swing.JMenuBar
javax.swing.JMenu
javax.swing.JMenuItem

verwendet. Wo das Paket javax.swing keine Klassen anbietet, werden java.awt-Klassen (z.B. Color) benutzt.

Der wichtigste technische Unterschied zwischen swing und awt ist hier, dass die Fensterkomponenten nicht dem Frame-Objekt hinzugefügt werden, sondern einem daziwischenliegenden Container-Objekt:

java.awt.Container glas = getContentPane(); // geerbt von JFrame
glas.add(hauptfeld);