Class Graph

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byGraph
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.print.Printable, java.io.Serializable, javax.swing.event.TableModelListener

public class Graph
extends javax.swing.JPanel
implements java.awt.print.Printable, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, javax.swing.event.TableModelListener

Klasse die die Graphenerstellung und die Anzeige übernimmt. Die Druckausgabe besitzt zur Zeit nur eingeschänkte Funktionalität und wird in einer kommenden Version erweitert.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Graph()
          Konstruktor.
 
Method Summary
 int getNextNodeNumber()
          Für die Knotenerzeugung eine neue Knotennummer holen.
 javax.swing.JSplitPane getSplitPane()
          Den Splitpane zurückgeben.
 javax.swing.JPanel getViewPanel()
          Zurückgeben des Panels, das die Knotentabelle enthält.
 void init()
          Initialisierung.
 void mouseClicked(java.awt.event.MouseEvent e)
          Mausevent für das Klicken der Maus.
 void mouseDragged(java.awt.event.MouseEvent e)
          Eventroutine bei einem Mausdrag.
 void mouseEntered(java.awt.event.MouseEvent e)
          Mausevent für das Bewegen der Maus in einem Bereich.
 void mouseExited(java.awt.event.MouseEvent e)
          Mausevent für das Verlassen der Maus aus einem Bereich.
 void mouseMoved(java.awt.event.MouseEvent e)
          Event für die Mausbewegung.
 void mousePressed(java.awt.event.MouseEvent e)
          Drücken der Maus löst je nach Modus eine bestimmte Reaktion aus.
 void mouseReleased(java.awt.event.MouseEvent e)
          Loslassen der Maustaste löst je nach Zeichenmodus eine spezielle Reaktion aus.
 void paintComponent(java.awt.Graphics g)
          Zeichnen der Komponenten.
 int print(java.awt.Graphics g, java.awt.print.PageFormat pf, int pi)
          Druckroutine, benötigt Java 1.4.2.
 void printNodeList(java.awt.Graphics2D g2d, java.awt.print.PageFormat pf)
          Drucken der Knotenliste.
 void readGraphDatenFromFile(java.lang.String datei)
          Lesen der Daten aus den Dateien mit den Endungen .ygd und .yal.
 void removeRow(Edge kante)
          Löscht die übergebene Kante aus der Tabelle.
 void removeRow(int index)
          Löscht eine Kantenzeile mti dem Index index aus der Tabelle.
 void removeRow(java.awt.Point p)
          Löscht eine Kantenzeile aus der Tabelle.
 void removeRows(Node knoten)
          Löscht zu einem Knoten alle Kanten in der Kantentabelle.
 void setDrawMode(int mode)
          Den Zeichenmodus setzen.
 void tableChanged(javax.swing.event.TableModelEvent e)
          Werden die Kosten für eine Kante eingegeben, dann muss der Graph neu gezeichnet werden.
 void writeGraphDatenToFile(java.lang.String datei)
          Speichern der Daten in zwei Dateien.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Graph

public Graph()
Konstruktor.

Method Detail

getViewPanel

public javax.swing.JPanel getViewPanel()
Zurückgeben des Panels, das die Knotentabelle enthält.


getSplitPane

public javax.swing.JSplitPane getSplitPane()
Den Splitpane zurückgeben.


tableChanged

public void tableChanged(javax.swing.event.TableModelEvent e)
Werden die Kosten für eine Kante eingegeben, dann muss der Graph neu gezeichnet werden.

Specified by:
tableChanged in interface javax.swing.event.TableModelListener

setDrawMode

public void setDrawMode(int mode)
Den Zeichenmodus setzen.


mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Eventroutine bei einem Mausdrag. Dabei wird der Knoten bewegt, der selektiert ist und sich unter dem Mauszeiger befindet. Befindet sich kein Knoten unter dem Mauszeiger, oder ist kein Knoten selektiert, dann wird nichts gemacht.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Event für die Mausbewegung.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Drücken der Maus löst je nach Modus eine bestimmte Reaktion aus.

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Loslassen der Maustaste löst je nach Zeichenmodus eine spezielle Reaktion aus.

Specified by:
mouseReleased in interface java.awt.event.MouseListener

getNextNodeNumber

public int getNextNodeNumber()
Für die Knotenerzeugung eine neue Knotennummer holen. Dabei werden gelöschte Knotennummern berücksichtigt.


mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Mausevent für das Bewegen der Maus in einem Bereich.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Mausevent für das Verlassen der Maus aus einem Bereich.

Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Mausevent für das Klicken der Maus.

Specified by:
mouseClicked in interface java.awt.event.MouseListener

paintComponent

public void paintComponent(java.awt.Graphics g)
Zeichnen der Komponenten. Z.B. Kanten, Knoten usw.


removeRow

public void removeRow(java.awt.Point p)
Löscht eine Kantenzeile aus der Tabelle.


removeRow

public void removeRow(int index)
Löscht eine Kantenzeile mti dem Index index aus der Tabelle.


removeRows

public void removeRows(Node knoten)
Löscht zu einem Knoten alle Kanten in der Kantentabelle.


removeRow

public void removeRow(Edge kante)
Löscht die übergebene Kante aus der Tabelle.


print

public int print(java.awt.Graphics g,
                 java.awt.print.PageFormat pf,
                 int pi)
          throws java.awt.print.PrinterException
Druckroutine, benötigt Java 1.4.2.

Specified by:
print in interface java.awt.print.Printable
Throws:
java.awt.print.PrinterException

printNodeList

public void printNodeList(java.awt.Graphics2D g2d,
                          java.awt.print.PageFormat pf)
Drucken der Knotenliste.


writeGraphDatenToFile

public void writeGraphDatenToFile(java.lang.String datei)
Speichern der Daten in zwei Dateien. Eine Datei mit Endung .ygd für die GraphKnotenListe und eine für die Adjazenzliste mit Endung .yal.


readGraphDatenFromFile

public void readGraphDatenFromFile(java.lang.String datei)
Lesen der Daten aus den Dateien mit den Endungen .ygd und .yal.


init

public void init()
Initialisierung.