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

    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.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

    Fields inherited from interface java.awt.image.ImageObserver

    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

    Fields inherited from interface java.awt.print.Printable

    NO_SUCH_PAGE, PAGE_EXISTS
  • 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ück
    void init()
    Der Konstruktor dient der Klasses GenericNetDisplay dazu, das MapPane schon anordnen zu können.
    boolean isTooltipOn()
    Gibt true 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

    Methods inherited from class java.lang.Object

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

    • 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 mit init() noch ausgeführt werden.
      Parameters:
      gnd - die Netzdarstellung
      view - die aktuelle Ansicht
  • Method Details

    • 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 interface View.ViewChangeListener
      Parameters:
      view - die Ansicht
      i - ein Index
      j - 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 interface View.ViewChangeListener
      Parameters:
      view - die Ansicht
      newIndex - 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 interface View.ViewChangeListener
      Parameters:
      view - die Ansicht
      i - 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 interface View.ViewChangeListener
      Parameters:
      view - die Ansicht
      i - 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 interface View.ViewChangeListener
      Parameters:
      view - die Ansicht
      i - 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 interface java.awt.print.Printable
      Throws:
      java.awt.print.PrinterException
    • paintComponent

      protected void paintComponent​(java.awt.Graphics g)
      Overrides:
      paintComponent in class javax.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 class javax.swing.JComponent
      Parameters:
      e - der Mouse-Event
    • isTooltipOn

      public boolean isTooltipOn()
      Gibt true 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 interface DOTManager.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 interface DOTManager.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 interface DOTManager.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 interface ReferenceHierarchyManager.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 interface ReferenceHierarchyManager.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 interface ReferenceHierarchyManager.RhmChangeListener
      Parameters:
      name - ein Name
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.awt.Component