/** Entfernt die Auswahl, sodass keine Plätze mehr ausgewählt sind. */ public void entferneAuswahl() { for (Platz platz : _ausgewaehltePlaetze) { _buttons[platz.getReihe()][platz.getSitz()].setAusgewaehlt(false); } _ausgewaehltePlaetze.clear(); repaint(); }
/** * Setzt die Anzahl der Plätze, die in diesem Platzplan zur Auswahl angeboten werden. Achtung, * nach dem Aufruf dieser Methode werden zunächst alle Plätze als frei angezeigt! * * @param anzahlReihen die Anzahl der Reihen * @param anzahlSitzeProReihe die Anzahl der Plätze pro Reihe * @require anzahlReihen >= 0 * @require anzahlSitzeProReihe >= 0 */ public void setAnzahlPlaetze(int anzahlReihen, int anzahlSitzeProReihe) { assert anzahlReihen >= 0 : "Vorbedingung verletzt: anzahlReihen >= 0"; assert anzahlSitzeProReihe >= 0 : "Vorbedingung verletzt: anzahlSitzeProReihe >= 0"; // Alle vorhandenen Buttons etc. entfernen removeAll(); // Neue Buttons für Plätze erstellen _buttons = new JPlatzButton[anzahlReihen][anzahlSitzeProReihe]; for (int reihe = 0; reihe < anzahlReihen; reihe++) { JLabel label = new JLabel("Reihe " + (reihe + 1) + ":"); imGitterEinfuegen(label, 0, reihe); for (int sitz = 0; sitz < anzahlSitzeProReihe; sitz++) { JPlatzButton button = new JPlatzButton(Platz.get(reihe, sitz)); button.setMinimumSize(PLATZBUTTON_GROESSE); button.setPreferredSize(PLATZBUTTON_GROESSE); imGitterEinfuegen(button, sitz + 1, reihe); button.addActionListener(_buttonListener); _buttons[reihe][sitz] = button; } } revalidate(); repaint(); // Nach der Änderung ist kein Platz ausgewählt _ausgewaehltePlaetze.clear(); informiereSelectionListener(_ausgewaehltePlaetze); }
/** * Markiert den angegebenen Platz als frei. * * @param platz der Platz. * @require platz != null */ public void markierePlatzAlsFrei(Platz platz) { assert platz != null : "Vorbedingung verletzt: platz != null"; _buttons[platz.getReihe()][platz.getSitz()].setVerkauft(false); repaint(); }