/** * 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); }