Package de.kappich.pat.gnd.linePlugin
Class DOTLinePainter
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- de.kappich.pat.gnd.linePlugin.DOTLinePainter
-
- All Implemented Interfaces:
DisplayObjectPainter
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class DOTLinePainter extends javax.swing.JPanel implements DisplayObjectPainter
Der Painter für Linienobjekte.- 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
-
-
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
-
-
Constructor Summary
Constructors Constructor Description DOTLinePainter()
-
Method Summary
All Methods Instance Methods Concrete Methods 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
-
-
-
-
Method Detail
-
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ürdisplayObject
die MethodeDisplayObject.getCoordinates(int type)
aufgerufen werden. Diese bewerkstelligt einen lazy Cache; sind die Daten nicht vorhanden, so wird die Erzeugung an die MethodeDisplayObjectPainter.getCoordinates(java.util.List<java.lang.Object>, int)
delegiert, wo auch die Auswertung des Integer-Wertes stattfindet.- Specified by:
paintDisplayObject
in interfaceDisplayObjectPainter
- Parameters:
mapPane
- die Kartenansichtg2D
- ein Graphics2D-Objekt zum ZeichnendisplayObject
- das DisplayObjectselected
-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-Wertestype
wird inDisplayObjectPainter.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 interfaceDisplayObjectPainter
- Parameters:
displayObject
- das DisplayObjecttype
- 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 interfaceDisplayObjectPainter
- Parameters:
coordinates
- die Originalkoordinatentype
- der gewünschte Koordinatentyp- Returns:
- die gewünschten Koordinaten
-
-