예제 #1
0
 /** 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();
 }
예제 #2
0
  /**
   * 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);
  }
예제 #3
0
 /**
  * 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();
 }