Package graph

Class GraphPlotter

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public class GraphPlotter
    extends javax.swing.JPanel
    Der GraphPlotter ist das Herzstueck der Visualisierung und dient als Schnittstelle zu jgraphx. Hier werden Methoden zur Verfügung gestellt, die: - Knoten und Kanten färben - diese selektieren - Knoten und Kanten erstellen und entfernen (beides sowohl graphisch als auch in der Adjazenzliste) - und die Codierung als csv-Datei übernehmen.
    Version:
    11.11.2015 (v5.3)
    Author:
    Dirk Zechnall
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected graph.Graph graph  
      • Fields inherited from class javax.swing.JComponent

        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

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      GraphPlotter()
      Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void ausgabe()
      Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.
      boolean csvDateiEinlesen​(java.nio.file.Path dateiName)
      Eine CSV-Datei als Liste wird eingelesen (geoeffnet).
      boolean csvDateiEinlesenMatrix​(java.nio.file.Path dateiName, int pos)
      Eine CSV-Datei als Matrix wird eingelesen (geoeffnet).
      java.lang.String getBildDatei()
      Gibt den Bilddateinamen aus.
      graph.Graph getGraph()
      Gibt den Graphen zurueck.
      com.mxgraph.swing.mxGraphComponent getGraphComponent()
      Gibt die MXGraph-Component aus.
      com.mxgraph.view.mxGraph getMXGraph()
      Gibt den MXGraphen aus.
      graph.Kante getSelectedKante()
      Gibt das selektierte Kantenobjekt zurueck.
      graph.Knoten getSelectedKnoten()
      Gibt das selektierte Knotenobjekt zurueck.
      java.util.ArrayList<graph.Knoten> getSelectedKnotenListe()
      Gibt die selektierte KnotenobjektListe (als Array) zurueck.
      void paint​(java.awt.Graphics g)  
      void setBildAnzeigen​(boolean sichtbar)
      Stellt ein, ob das Bild angezeigt wird
      void setBildDatei​(java.lang.String dateiName)
      Legt den Bilddateinamen fest.
      void setFarben​(java.lang.String[] farben)
      Setzt die Farben, die für die Colorierung der Knoten und Kanten verwendet werden.
      void setGraphComponent​(com.mxgraph.swing.mxGraphComponent graphComponent)
      Setzt die MXGraph-Component.
      void setWerteVonKnotenAnzeigen​(boolean sichtbar)  
      java.lang.String toString()
      Ueberschreibt die Methode toString.
      boolean updateMxGraph()  
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, list, list, paintComponents, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • graph

        protected graph.Graph graph
    • Constructor Detail

      • GraphPlotter

        public GraphPlotter()
        Der Konstruktor legt sowohl Einstellungen des mxGraphen (Drag&Drop, Editable, ...) als auch des Graphen (gewichtet, gerichtet, ...) fest.
        Parameters:
        boolean - isDirected Gibt an, ob der Graph gerichtet oder ungerichtet ist
        boolean - isWeighted Gibt an, ob der Graph gewichtet oder ungewichtet ist
        String - hintergrundBild Gibt den Namen eines Hintergrundbildes an
    • Method Detail

      • updateMxGraph

        public boolean updateMxGraph()
      • paint

        public void paint​(java.awt.Graphics g)
        Overrides:
        paint in class javax.swing.JComponent
      • getBildDatei

        public java.lang.String getBildDatei()
        Gibt den Bilddateinamen aus.
        Returns:
        Path Name der Bilddatei
      • setBildDatei

        public void setBildDatei​(java.lang.String dateiName)
        Legt den Bilddateinamen fest. Das Bild muss im Ordner images liegen.
        Parameters:
        String - dateiName Der DateiName
      • setBildAnzeigen

        public void setBildAnzeigen​(boolean sichtbar)
        Stellt ein, ob das Bild angezeigt wird
        Parameters:
        boolean - wird das Bild gezeigt?
      • setWerteVonKnotenAnzeigen

        public void setWerteVonKnotenAnzeigen​(boolean sichtbar)
      • getGraph

        public graph.Graph getGraph()
        Gibt den Graphen zurueck.
        Returns:
        Graph
      • getSelectedKnoten

        public graph.Knoten getSelectedKnoten()
        Gibt das selektierte Knotenobjekt zurueck.
        Returns:
        Object
      • getSelectedKnotenListe

        public java.util.ArrayList<graph.Knoten> getSelectedKnotenListe()
        Gibt die selektierte KnotenobjektListe (als Array) zurueck.
        Returns:
        Object[]
      • getSelectedKante

        public graph.Kante getSelectedKante()
        Gibt das selektierte Kantenobjekt zurueck.
        Returns:
        Object
      • csvDateiEinlesenMatrix

        public boolean csvDateiEinlesenMatrix​(java.nio.file.Path dateiName,
                                              int pos)
        Eine CSV-Datei als Matrix wird eingelesen (geoeffnet).
        Parameters:
        String - dateiName Der DateiName
        int - pos Die Position innerhalb der Datei
        Returns:
        boolean geklappt (true/false)
      • csvDateiEinlesen

        public boolean csvDateiEinlesen​(java.nio.file.Path dateiName)
        Eine CSV-Datei als Liste wird eingelesen (geoeffnet). Der DateiName wird angegeben.
        Parameters:
        String - dateiName Der DateiName
        Returns:
        boolean geklappt (true/false)
      • getMXGraph

        public com.mxgraph.view.mxGraph getMXGraph()
        Gibt den MXGraphen aus.
        Returns:
        mxGraph Der MX-Graph
      • getGraphComponent

        public com.mxgraph.swing.mxGraphComponent getGraphComponent()
        Gibt die MXGraph-Component aus.
        Returns:
        mxGraphComponent Die MXGraph-Component
      • setGraphComponent

        public void setGraphComponent​(com.mxgraph.swing.mxGraphComponent graphComponent)
        Setzt die MXGraph-Component.
        Parameters:
        mxGraphComponent - graphComponent Die Komponente
      • setFarben

        public void setFarben​(java.lang.String[] farben)
        Setzt die Farben, die für die Colorierung der Knoten und Kanten verwendet werden.
        Parameters:
        farben - String-Array mit den Farben (kann "red" usw enthalten oder "#FF0000")
      • toString

        public java.lang.String toString()
        Ueberschreibt die Methode toString. Eine String-Repraesentation des GraphPlotters wird ausgegeben.
        Overrides:
        toString in class java.awt.Component
        Returns:
        String Die String-Repraesentation des GraphPlotters
      • ausgabe

        public void ausgabe()
        Gibt die String-Repraesentation des GraphPlotters auf der Konsole aus.