\begin{slide}{javax.swing und MVC}


Swing benutzt vereinfachtes MVC (M getrennt, aber V und C gemeinsam).

Literatur:
\begin{itemize}
\item The Swing Tutorial
  \url{http://java.sun.com/docs/books/tutorial/uiswing/}
\item
  Guido Krüger: Handbuch der Java-Programmierung, Addison-Wesley, 2003,
  Kapitel 35--38
\end{itemize}

\end{slide}

\begin{slide}{Swing: Datenmodelle}

\begin{verbatim}
JSlider top = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);
JSlider bot = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);
bot.setModel(top.getModel());
\end{verbatim}
  

\end{slide}

\begin{slide}{Swing: Bäume}
\begin{verbatim}
// Model:
MutableTreeNode root = Shape.binary(4);
DefaultTreeModel tm = new DefaultTreeModel (root);

// View + Controller:
JTree t = new JTree (root);

// Steuerung:
t.addTreeSelectionListener(new TreeSelectionListener () {
   public void valueChanged(TreeSelectionEvent e) { .. } }

// Änderungen des Modells:
tm.addTreeModelListener(..)
\end{verbatim} 

\end{slide}
