Package de.kappich.pat.gnd.gnd
Class MapPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLayeredPane
-
- de.kappich.pat.gnd.gnd.MapPane
-
- All Implemented Interfaces:
DOTManager.DOTChangeListener
,ReferenceHierarchyManager.RhmChangeListener
,View.ViewChangeListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.awt.print.Printable
,java.io.Serializable
,javax.accessibility.Accessible
public class MapPane extends javax.swing.JLayeredPane implements View.ViewChangeListener, java.awt.print.Printable, DOTManager.DOTChangeListener, ReferenceHierarchyManager.RhmChangeListener
Die Kartenansicht der Kartendarstellung.Ein MapPane steht für die Kartenansicht der GND. Um die einzelnen Layer darzustellen, ist MapPane von JLayeredPane abgeleitet. Jeder nicht-leere Layer des JLayeredPane enthält genau eine Komponente der Klasse
MapPane.LayerPanel
, das die Objekte eines GND-Layers darstellt.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
MapPane.MapScaleListener
Ein Interface für Listener, die an Maßstabs-Änderungen der Kartenansicht interessiert sind.-
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
javax.swing.JLayeredPane.AccessibleJLayeredPane
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
-
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
-
-
Constructor Summary
Constructors Constructor Description MapPane(GenericNetDisplay gnd, View view)
Konstruiert eine neue Kartenansicht für das übergebene GenericNetDisplay mit der übergebenen Ansicht.
-
Method Summary
Modifier and Type Method Description void
addMapScaleListeners(java.util.Collection<MapPane.MapScaleListener> listeners)
Fügt die übergebenen Objekte der Menge der auf Änderungen des Maßstabs angemeldeten Objekte hinzu.void
addSelectionListener(SelectionListener listener)
Fügt das übergebene Objekt der Liste der auf Änderungen der Selektion angemeldeten Objekte hinzu.void
displayObjectTypeAdded(DisplayObjectType displayObjectType)
Diese Methode wird aufgerufen, wenn der übergebene Darstellungstyp hinzugefügt wurde.void
displayObjectTypeChanged(DisplayObjectType displayObjectType)
Diese Methode wird aufgerufen, wenn der übergebene Darstellungstyp geändert wurde.void
displayObjectTypeRemoved(java.lang.String displayObjectTypeName)
Diese Methode wird aufgerufen, wenn der genannte Darstellungstyp gelöscht wurde.void
focusOnObjects(java.util.Collection<DisplayObject> displayObjects)
Berechnet das die DisplayObjects umgebende Rechteck und wählt dieses (oder ein nach Höhe und Breite ähnliches) als neuen Kartenausschnitt.java.awt.geom.Point2D
getCenterPoint()
GenericNetDisplay
getGnd()
java.lang.Double
getMapScale()
Gibt den aktuellen Maßstab zurück.java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>
getSelectedSystemObjects()
Gibt die Menge der aktuell in der Kartenansicht selektierten Objekte zurück.java.lang.String
getToolTipText(java.awt.event.MouseEvent e)
Erzeugt den Tooltipp auf der Kartenansicht.java.awt.Rectangle
getUTMBounds()
Gibt das UTM-Rechteck, das dem aktuellen Ausschnitt entspricht zurückvoid
init()
Der Konstruktor dient der Klasses GenericNetDisplay dazu, das MapPane schon anordnen zu können.boolean
isTooltipOn()
Gibttrue
zurück, falls der Tooltipp auf der Kartenansicht aktiviert ist.protected void
paintComponent(java.awt.Graphics g)
int
print(java.awt.Graphics g, java.awt.print.PageFormat pageFormat, int pageIndex)
void
redraw()
void
referenceHierarchyAdded(ReferenceHierarchy referenceHierarchy)
Diese Methode wird aufgerufen, wenn die EOR-Hierarchie hinzugefügt wurde.void
referenceHierarchyChanged(ReferenceHierarchy referenceHierarchy)
Diese Methode wird aufgerufen, wenn die EOR-Hierarchie geändert wurde.void
referenceHierarchyRemoved(java.lang.String name)
Diese Methode wird aufgerufen, wenn die EOR-Hierarchie mit dem Namen gelöscht wurde.boolean
removeSelectionListener(SelectionListener listener)
Entfernt das übergebene Objekt aus der Liste der auf Änderungen der Selektion angemeldeten Objekte.void
resolutionChanged(java.lang.Double newValue, java.lang.Double oldValue)
void
setSelectedObjects(java.util.Collection<DisplayObject> displayObjects)
Selektiert alle übergebenen Objekte.void
setTooltip(boolean tooltip)
Schaltet den Tooltipp auf der Kartenansicht ab oder an.java.lang.String
toString()
void
updateDisplayObject(OnlineDisplayObject displayObject)
Veranlaßt eine Aktualisierung der Darstellung des übergebenen DisplayObjects.void
viewEntriesSwitched(View view, int i, int j)
Die Layer an der i-ten und j-ten Stelle der Ansicht wurden miteinander vertauscht.void
viewEntryDefinitionChanged(View view, int i)
Die Definition des Layers an der i-ten Stelle der Ansicht wurde geändert.void
viewEntryInserted(View view, int newIndex)
Der Ansicht wurde ein Layer am Ende an der angegebenen Stelle hinzugefügt.void
viewEntryPropertyChanged(View view, int i)
Eine Eigenschaft des Layers an der i-ten Stelle der Ansicht wurde geändert.void
viewEntryRemoved(View view, int i)
Der Layer an der i-ten Stelle der Ansicht wurde gelöscht.-
Methods inherited from class javax.swing.JLayeredPane
addImpl, getAccessibleContext, getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, paramString, putLayer, remove, removeAll, setLayer, setLayer, setPosition
-
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, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, 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, updateUI
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
MapPane
public MapPane(GenericNetDisplay gnd, View view)
Konstruiert eine neue Kartenansicht für das übergebene GenericNetDisplay mit der übergebenen Ansicht. Das Objekt wird zunächst aber nur konstruiert, die eigentliche Initialisierung muss mitinit()
noch ausgeführt werden.- Parameters:
gnd
- die Netzdarstellungview
- die aktuelle Ansicht
-
-
Method Detail
-
init
public void init()
Der Konstruktor dient der Klasses GenericNetDisplay dazu, das MapPane schon anordnen zu können. In der folgenden init-Methode und ihren Initialisierungen wird JComponent.getBounds() aufgerufen, was erst sinnvoll ist, wenn das MapPane schon im GenericNetDisplay mit pack() gepackt wurde.
-
getCenterPoint
public java.awt.geom.Point2D getCenterPoint()
-
getGnd
public GenericNetDisplay getGnd()
-
redraw
public void redraw()
-
getUTMBounds
public java.awt.Rectangle getUTMBounds()
Gibt das UTM-Rechteck, das dem aktuellen Ausschnitt entspricht zurück- Returns:
- das UTM-Rechteck
-
viewEntriesSwitched
public void viewEntriesSwitched(View view, int i, int j)
Description copied from interface:View.ViewChangeListener
Die Layer an der i-ten und j-ten Stelle der Ansicht wurden miteinander vertauscht.- Specified by:
viewEntriesSwitched
in interfaceView.ViewChangeListener
- Parameters:
view
- die Ansichti
- ein Indexj
- ein Index
-
setSelectedObjects
public void setSelectedObjects(java.util.Collection<DisplayObject> displayObjects)
Selektiert alle übergebenen Objekte. Leert zuvor die Selektion, die temporäre Selektion und löscht ein eventuell vorhandenes Selektions-Rechteck.- Parameters:
displayObjects
- DisplayObjects
-
focusOnObjects
public void focusOnObjects(java.util.Collection<DisplayObject> displayObjects)
Berechnet das die DisplayObjects umgebende Rechteck und wählt dieses (oder ein nach Höhe und Breite ähnliches) als neuen Kartenausschnitt.- Parameters:
displayObjects
- eine Collection von DisplayObjects
-
viewEntryInserted
public void viewEntryInserted(View view, int newIndex)
Description copied from interface:View.ViewChangeListener
Der Ansicht wurde ein Layer am Ende an der angegebenen Stelle hinzugefügt.- Specified by:
viewEntryInserted
in interfaceView.ViewChangeListener
- Parameters:
view
- die AnsichtnewIndex
- der Index
-
viewEntryDefinitionChanged
public void viewEntryDefinitionChanged(View view, int i)
Description copied from interface:View.ViewChangeListener
Die Definition des Layers an der i-ten Stelle der Ansicht wurde geändert. Diese Methode soll benutzt werden, wenn eine erneute Initialisierung des Layers notwendig ist.- Specified by:
viewEntryDefinitionChanged
in interfaceView.ViewChangeListener
- Parameters:
view
- die Ansichti
- ein Index
-
viewEntryPropertyChanged
public void viewEntryPropertyChanged(View view, int i)
Description copied from interface:View.ViewChangeListener
Eine Eigenschaft des Layers an der i-ten Stelle der Ansicht wurde geändert. Diese Methode soll benutzt werden, wenn keine erneute Initialisierung des Layers notwendig ist.- Specified by:
viewEntryPropertyChanged
in interfaceView.ViewChangeListener
- Parameters:
view
- die Ansichti
- ein Index
-
viewEntryRemoved
public void viewEntryRemoved(View view, int i)
Description copied from interface:View.ViewChangeListener
Der Layer an der i-ten Stelle der Ansicht wurde gelöscht.- Specified by:
viewEntryRemoved
in interfaceView.ViewChangeListener
- Parameters:
view
- die Ansichti
- ein Index
-
print
public int print(java.awt.Graphics g, java.awt.print.PageFormat pageFormat, int pageIndex) throws java.awt.print.PrinterException
- Specified by:
print
in interfacejava.awt.print.Printable
- Throws:
java.awt.print.PrinterException
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponent
in classjavax.swing.JComponent
-
getMapScale
public java.lang.Double getMapScale()
Gibt den aktuellen Maßstab zurück.- Returns:
- der Maßstabsfaktor
-
addMapScaleListeners
public void addMapScaleListeners(java.util.Collection<MapPane.MapScaleListener> listeners)
Fügt die übergebenen Objekte der Menge der auf Änderungen des Maßstabs angemeldeten Objekte hinzu.- Parameters:
listeners
- die neuen Listener
-
getToolTipText
@Nullable public java.lang.String getToolTipText(java.awt.event.MouseEvent e)
Erzeugt den Tooltipp auf der Kartenansicht.- Overrides:
getToolTipText
in classjavax.swing.JComponent
- Parameters:
e
- der Mouse-Event
-
isTooltipOn
public boolean isTooltipOn()
Gibttrue
zurück, falls der Tooltipp auf der Kartenansicht aktiviert ist.- Returns:
true
genau dann, wenn der Tooltipp auf der Kartenansicht aktiviert ist
-
setTooltip
public void setTooltip(boolean tooltip)
Schaltet den Tooltipp auf der Kartenansicht ab oder an.- Parameters:
tooltip
- der neue Wert für die Tooltipp-Aktivität
-
updateDisplayObject
public void updateDisplayObject(OnlineDisplayObject displayObject)
Veranlaßt eine Aktualisierung der Darstellung des übergebenen DisplayObjects.- Parameters:
displayObject
- das OnlineDisplayObject
-
resolutionChanged
public void resolutionChanged(java.lang.Double newValue, java.lang.Double oldValue)
-
getSelectedSystemObjects
public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getSelectedSystemObjects()
Gibt die Menge der aktuell in der Kartenansicht selektierten Objekte zurück.- Returns:
- die Menge der aktuell in der Kartenansicht selektierten Objekte
-
displayObjectTypeAdded
public void displayObjectTypeAdded(DisplayObjectType displayObjectType)
Description copied from interface:DOTManager.DOTChangeListener
Diese Methode wird aufgerufen, wenn der übergebene Darstellungstyp hinzugefügt wurde.- Specified by:
displayObjectTypeAdded
in interfaceDOTManager.DOTChangeListener
- Parameters:
displayObjectType
- ein Darstellungstyp
-
displayObjectTypeChanged
public void displayObjectTypeChanged(DisplayObjectType displayObjectType)
Description copied from interface:DOTManager.DOTChangeListener
Diese Methode wird aufgerufen, wenn der übergebene Darstellungstyp geändert wurde.- Specified by:
displayObjectTypeChanged
in interfaceDOTManager.DOTChangeListener
- Parameters:
displayObjectType
- ein Darstellungstyp
-
displayObjectTypeRemoved
public void displayObjectTypeRemoved(java.lang.String displayObjectTypeName)
Description copied from interface:DOTManager.DOTChangeListener
Diese Methode wird aufgerufen, wenn der genannte Darstellungstyp gelöscht wurde.- Specified by:
displayObjectTypeRemoved
in interfaceDOTManager.DOTChangeListener
- Parameters:
displayObjectTypeName
- ein Name eines Darstellungstyp
-
addSelectionListener
public void addSelectionListener(SelectionListener listener)
Fügt das übergebene Objekt der Liste der auf Änderungen der Selektion angemeldeten Objekte hinzu.- Parameters:
listener
- der neue Listener
-
removeSelectionListener
public boolean removeSelectionListener(SelectionListener listener)
Entfernt das übergebene Objekt aus der Liste der auf Änderungen der Selektion angemeldeten Objekte.- Parameters:
listener
- der zu entfernende Listener
-
referenceHierarchyAdded
public void referenceHierarchyAdded(ReferenceHierarchy referenceHierarchy)
Description copied from interface:ReferenceHierarchyManager.RhmChangeListener
Diese Methode wird aufgerufen, wenn die EOR-Hierarchie hinzugefügt wurde.- Specified by:
referenceHierarchyAdded
in interfaceReferenceHierarchyManager.RhmChangeListener
- Parameters:
referenceHierarchy
- eine ReferenceHierarchy
-
referenceHierarchyChanged
public void referenceHierarchyChanged(ReferenceHierarchy referenceHierarchy)
Description copied from interface:ReferenceHierarchyManager.RhmChangeListener
Diese Methode wird aufgerufen, wenn die EOR-Hierarchie geändert wurde.- Specified by:
referenceHierarchyChanged
in interfaceReferenceHierarchyManager.RhmChangeListener
- Parameters:
referenceHierarchy
- eine ReferenceHierarchy
-
referenceHierarchyRemoved
public void referenceHierarchyRemoved(java.lang.String name)
Description copied from interface:ReferenceHierarchyManager.RhmChangeListener
Diese Methode wird aufgerufen, wenn die EOR-Hierarchie mit dem Namen gelöscht wurde.- Specified by:
referenceHierarchyRemoved
in interfaceReferenceHierarchyManager.RhmChangeListener
- Parameters:
name
- ein Name
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.awt.Component
-
-