/** * Initialisiert das Kassenwerkzeug. * * @param kino das Kino, mit dem das Werkzeug arbeitet. * @require kino != null */ public KassenWerkzeug(Kino kino) { assert kino != null : "Vorbedingung verletzt: kino != null"; _kino = kino; // Subwerkzeuge erstellen _platzVerkaufsWerkzeug = new PlatzVerkaufsWerkzeug("platzverkauf"); _datumAuswaehlWerkzeug = new DatumAuswaehlWerkzeug("datumauswahl"); _datumAuswaehlWerkzeug.addObserver(this); _vorstellungAuswaehlWerkzeug = new VorstellungsAuswaehlWerkzeug("vorstellungsauswahl"); _vorstellungAuswaehlWerkzeug.addObserver(this); // UI erstellen (mit eingebetteten UIs der direkten Subwerkzeuge) _ui = new KassenWerkzeugUI( _platzVerkaufsWerkzeug.getUIPanel(), _datumAuswaehlWerkzeug.getUIPanel(), _vorstellungAuswaehlWerkzeug.getUIPanel()); registriereUIAktionen(); setzeTagesplanFuerAusgewaehltesDatum(); setzeAusgewaehlteVorstellung(); _ui.zeigeFenster(); }
/** Fügt die Funktionalitat zum Beenden-Button hinzu. */ private void registriereUIAktionen() { _ui.getBeendenButton() .addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { reagiereAufBeendenButton(); } }); }
/** Beendet die Anwendung. */ private void reagiereAufBeendenButton() { _ui.schliesseFenster(); }