Java Reference
In-Depth Information
notifyObservers();
}
public void setRedValue (int value)
{
m_redValue = value;
notifyObservers();
}
public void notifyObservers()
{
for (int i = 0; i < m_observers.size(); ++i)
m_observers.get (i).update();
}
public void registerObserver (IObserverInterface o)
{
m_observers.add (o);
}
public void removeObserver (IObserverInterface o)
{
if (m_observers.contains (o))
m_observers.remove (o);
}
}
View
Die drei Klassen TableView , PieChartView und BarChartView stellen die unter-
schiedlichen Sichten auf das Model dar. Der Benutzer kann zwischen Tabellenform,
Kreisdiagramm (engl. pie chart) und Balkendiagramm (engl. bar chart) wählen. Aus
Gründen der Übersichtlichkeit wird die genaue Implementierung der Klassen in Java
Swing hier weggelassen. Sie ist jedoch auf dem Webauftritt verfügbar. Die Views
repräsentieren die Beobachter im Beobachter-Muster und implementieren deshalb die
Schnittstelle IObserverInterface . Damit ist das Model in der Lage, die Views über
Änderungen zu informieren. Voraussetzung ist natürlich, dass die Views - wie in den
Konstruktoren gezeigt - das Model kennen und sich bei ihm als Beobachter anmelden.
Die Klasse TableView stellt hierbei noch einen Spezialfall dar, da sie als Benutzer-
schnittstelle zur Eingabe der Sitzplätze dient. Um das Model über diese Benutzer-
schnittstelle modifizierbar zu machen, wird eine Instanz der Klasse TableViewCon-
troller im Konstruktor erzeugt und bei Änderungen des Benutzers über die neu
eingegebenen Werte informiert. Die Definition der Klasse TableViewController er-
folgt später. Hier die Klassen der Views:
// Datei: TableView.java
public class TableView implements IObserverInterface
{
private IControllerInterface m_controller;
private IModelInterface m_model;
. . .
public TableView (IModelInterface model)
{
createComponents();
Search WWH ::




Custom Search