Class DOTComplexPainter

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
de.kappich.pat.gnd.complexPlugin.DOTComplexPainter
All Implemented Interfaces:
DisplayObjectPainter, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class DOTComplexPainter
extends javax.swing.JPanel
implements DisplayObjectPainter
Der Painter des Plugins für komplexe Objekte.
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 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
    DOTComplexPainter()  
  • Method Summary

    Modifier and Type Method Description
    java.awt.Rectangle getBoundingRectangle​(DisplayObject displayObject, int type)
    Diese Methode gibt das umgebende Rechteck des DisplayObjects für den angebenen Typen zurück.
    java.util.List<java.lang.Object> getCoordinates​(java.util.List<java.lang.Object> coordinates, int type)
    Diese Methode berechnet aus den übergebenen Koordinaten die Koordinaten zu dem übergebenen Typ.
    void paintDisplayObject​(MapPane mapPane, java.awt.Graphics2D g2D, DisplayObject displayObject, boolean selected)
    Implementationen dieser Methode werden aufgerufen, wenn das DisplayObject gezeichnet werden soll.

    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, disable, enable, 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, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, 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, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • DOTComplexPainter

      public DOTComplexPainter()
  • Method Details

    • paintDisplayObject

      public void paintDisplayObject​(MapPane mapPane, java.awt.Graphics2D g2D, DisplayObject displayObject, boolean selected)
      Description copied from interface: DisplayObjectPainter
      Implementationen dieser Methode werden aufgerufen, wenn das DisplayObject gezeichnet werden soll. Innerhalb seiner Implemantation sollte für displayObject die Methode DisplayObject.getCoordinates(int type) aufgerufen werden. Diese bewerkstelligt einen lazy Cache; sind die Daten nicht vorhanden, so wird die Erzeugung an die Methode DisplayObjectPainter.getCoordinates(java.util.List<java.lang.Object>, int) delegiert, wo auch die Auswertung des Integer-Wertes stattfindet.
      Specified by:
      paintDisplayObject in interface DisplayObjectPainter
      Parameters:
      mapPane - die Kartenansicht
      g2D - ein Graphics2D-Objekt zum Zeichnen
      displayObject - das DisplayObject
      selected - true genau dann, wenn das DisplayObject selektiert ist
    • getBoundingRectangle

      @Nullable public java.awt.Rectangle getBoundingRectangle​(DisplayObject displayObject, int type)
      Description copied from interface: DisplayObjectPainter
      Diese Methode gibt das umgebende Rechteck des DisplayObjects für den angebenen Typen zurück. Über die Bedeutung des Integer-Wertes type wird in DisplayObjectPainter.getCoordinates(java.util.List<java.lang.Object>, int) informiert. Diese Methode wird nur aus DisplayObject.getBoundingRectangle( int type) heraus aufgerufen, wo bereits ein lazy Cache für die Rückgabewerte installiert ist.
      Specified by:
      getBoundingRectangle in interface DisplayObjectPainter
      Parameters:
      displayObject - das DisplayObject
      type - der gewünschte Koordinatentyp
      Returns:
      das umgebende Rechteck
    • getCoordinates

      public java.util.List<java.lang.Object> getCoordinates​(java.util.List<java.lang.Object> coordinates, int type)
      Description copied from interface: DisplayObjectPainter
      Diese Methode berechnet aus den übergebenen Koordinaten die Koordinaten zu dem übergebenen Typ. Dieser Typ erlaubt es dem Programmierer unterschiedliche Koordinaten für das Objekt zu bekommen. Diese Methode wird nur in DisplayObject.getCoordinates( int type) aufgerufen, und die Ergebnisse werden dort gecached. Damit ergeben sich folgende Randbedingungen für den Plugin-Programmierer: einerseits muss er keinen eigenen Cache implementieren und andererseits kann er selber entscheiden, wofür die unterschiedlichen Integer-Werte stehen. Eine denkbare Anwendung wären unterschiedlich genaue Koordinaten für verschiedene Zoom-Stufen zwecks Optimierung der Zeichengeschwindigkeit.

      In der 4 Standard-Plugins wird nur bei Linien von verschiedenen Typen Gebrauch gemacht: der Typ stellt hier die Verschiebung der Koordinaten dar. Alle anderen Implementation rufen die Methode nur mit dem Wert 0 auf.

      Specified by:
      getCoordinates in interface DisplayObjectPainter
      Parameters:
      coordinates - die Originalkoordinaten
      type - der gewünschte Koordinatentyp
      Returns:
      die gewünschten Koordinaten