Class Graph

java.lang.Object
  |
  +--Graph
Direct Known Subclasses:
AutomatenGraphPanel.AutomatenGraph, GraphPanel.AutomatenGraph, TestGraph

public class Graph
extends java.lang.Object
implements java.lang.Cloneable

Basistyp für die Darstellung der Überführungen eines endlichen Automaten

Version:
990618
Author:
Michael Stach <stach@bigfoot.de>, Christian Heinemann <heinemann@bigfoot.de>

Inner Class Summary
protected  class Graph.Kante
          Diese Klasse kapselt eine Kante
protected  class Graph.Knoten
          Diese Klasse kapselt einen Knoten
 interface Graph.XKnotenNichtVorhanden
          Exception, kein Knoten, auf den die Operation angewendet wurde ist nicht vorhanden
 
Field Summary
protected  java.util.Vector kanten
           
protected  java.util.Vector knoten
           
 
Constructor Summary
Graph()
           
Graph(Graph g)
          Copy-Konstruktor
 
Method Summary
 void addKante(int von, int bis, java.lang.String beschriftung)
          fügt eine Kante hinzu
 void addKnoten(int nummer, java.lang.String beschriftung, boolean startzustand, boolean endzustand)
          fügt einen Knoten hinzu
 java.lang.Object clone()
           
protected  Graph.Kante getKante(Graph.Knoten von, Graph.Knoten bis)
          liefert das Kantenobjekt zwischen zwei Knoten
protected  Graph.Knoten getKnoten(int nummer)
          liefert das Knotenobjekt zu einer Knotennummer
protected  void kanteHervorheben(Graph.Kante kante, boolean value)
          hebt eine Kante hervor
 void kanteHervorheben(int von, int bis, boolean value)
          hebt eine Kante hervor wird von der Simulation aufgerufen
protected  void knotenHervorheben(Graph.Knoten knoten, boolean value)
          hebt einen Knoten hervor
 void knotenHervorheben(int nummer, boolean value)
          hebt einen Knoten hervor wird von der Simulation aufgerufen
 void repaint()
          zeichnet den Graphen neu
 void reset()
          nimmt alle Hervorhebungen zurueck
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

knoten

protected java.util.Vector knoten

kanten

protected java.util.Vector kanten
Constructor Detail

Graph

public Graph()

Graph

public Graph(Graph g)
Copy-Konstruktor
Method Detail

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

addKnoten

public void addKnoten(int nummer,
                      java.lang.String beschriftung,
                      boolean startzustand,
                      boolean endzustand)
fügt einen Knoten hinzu
Parameters:
nummer - Nummer des Knotens
beschriftung - Beschriftung des Knotens

addKante

public void addKante(int von,
                     int bis,
                     java.lang.String beschriftung)
              throws Graph.XKnotenNichtVorhanden
fügt eine Kante hinzu
Parameters:
von - Nummer des Knotens von dem die Kante ausgeht
bis - Nummer des Knotens zu dem die Kante fuehrt
beschriftung - Beschriftung des Knotens

kanteHervorheben

public void kanteHervorheben(int von,
                             int bis,
                             boolean value)
hebt eine Kante hervor wird von der Simulation aufgerufen
Parameters:
von - Start der Kante
bis - Ende der Kante
value - hervorheben ja/nein

kanteHervorheben

protected void kanteHervorheben(Graph.Kante kante,
                                boolean value)
hebt eine Kante hervor
Parameters:
kante - die hervorzuhebende Kante
value - hervorheben ja/nein

knotenHervorheben

public void knotenHervorheben(int nummer,
                              boolean value)
hebt einen Knoten hervor wird von der Simulation aufgerufen
Parameters:
nummer - Nummer des Knotens
value - hervorheben ja/nein

knotenHervorheben

protected void knotenHervorheben(Graph.Knoten knoten,
                                 boolean value)
hebt einen Knoten hervor
Parameters:
knoten - der hervorzuhebende Knoten
value - hervorheben ja/nein

getKnoten

protected Graph.Knoten getKnoten(int nummer)
liefert das Knotenobjekt zu einer Knotennummer
Parameters:
nummer - Nummer des Knotens
Returns:
Knoten oder null, falls dieser nicht vorhanden

getKante

protected Graph.Kante getKante(Graph.Knoten von,
                               Graph.Knoten bis)
liefert das Kantenobjekt zwischen zwei Knoten
Parameters:
von - erster Knoten der Kante
bis - zweiter Knoten der Kante
Returns:
Kante oder null, falls diese nicht existiert

repaint

public void repaint()
zeichnet den Graphen neu

reset

public void reset()
nimmt alle Hervorhebungen zurueck