public class MapPane extends JLayeredPane implements View.ViewChangeListener, Printable, GenericNetDisplay.ResolutionListener, DOTManager.DOTChangeListener
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.
Modifier and Type | Class and Description |
---|---|
private class |
MapPane.LayerPanel |
static interface |
MapPane.MapScaleListener
Ein Interface für Listener, die an Maßstabs-Änderungen der Kartenansicht interessiert sind.
|
JLayeredPane.AccessibleJLayeredPane
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
private boolean |
_antialising |
private DisplayObjectManager |
_displayObjectManager |
private GenericNetDisplay |
_gnd |
private boolean |
_isTooltipOn |
private Double |
_mapScale |
private List<MapPane.MapScaleListener> |
_mapScaleListeners |
private AffineTransform |
_mapTransform |
static String |
_newline |
private Set<DisplayObject> |
_selectedDisplayObjects |
private boolean |
_showNothing |
private View |
_view |
private double |
_zoomScale |
private double |
_zoomTranslateX |
private double |
_zoomTranslateY |
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
NO_SUCH_PAGE, PAGE_EXISTS
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
MapPane(GenericNetDisplay gnd,
View view)
Konstruiert eine neue Kartenansicht für das übergebene GenericNetDisplay mit
der übergebenen Ansicht.
|
Modifier and Type | Method and Description |
---|---|
private void |
addListeners() |
void |
addMapScaleListeners(Collection<MapPane.MapScaleListener> listeners)
Fügt die übergebenen Objekte der Menge der auf Änderungen des Maßstabs angemeldeten Objekte hinzu.
|
private void |
addToSelection(DisplayObject displayObject) |
void |
clearEverything()
Gibt alles frei, so dass der Garbage-Collector zuschlagen kann.
|
void |
clearSelection() |
private void |
determineCurrentScale() |
static void |
disableDoubleBuffering(Component c)
Methode zur besseren Auflösung beim Drucken
|
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(String displayObjectTypeName)
Diese Methode wird aufgerufen, wenn der genannte Darstellungstyp gelöscht wurde.
|
private void |
drawScaling(Graphics2D g,
double pixelPerMeter) |
static void |
enableDoubleBuffering(Component c)
Methode zum Zurücksetzen der Auflösung für die Ausgabe in der Oberfläche
|
void |
focusOnObject(SystemObject systemObject) |
Point2D |
getCenterPoint() |
private Set<DisplayObject> |
getDisplayObjectsForSystemObject(SystemObject systemObject) |
GenericNetDisplay |
getGnd() |
Double |
getMapScale()
Gibt den aktuellen Maßstab zurück.
|
Collection<SystemObject> |
getSelectedSystemObjects()
Gibt die Menge der aktuell in der Kartenansicht selektierten Objekte zurück.
|
String |
getToolTipText(MouseEvent e)
Erzeugt den Tooltipp auf der Kartenansicht.
|
Rectangle |
getUTMBounds() |
private boolean |
getUTMPoint(Point p,
Point utmP) |
private Set<SystemObject> |
getVisibleObjects() |
void |
init()
Der Konstruktor dient der Klasses GenericNetDisplay dazu, das MapPane schon anordnen
zu können.
|
private void |
initAffineMapTransform() |
private void |
initALayerPanel(ViewEntry entry,
int i,
JProgressBar progressBar) |
private void |
initTheLayerPanels() |
boolean |
isAntialising()
Gibt
true zurück, wenn die Kartenansicht mit Anti-Aliasing gezeichnet wird. |
boolean |
isTooltipOn()
Gibt
true zurück, falls der Tooltipp auf der Kartenansicht aktiviert ist. |
double |
meterProPixel()
Diese Methode berechnet den Maßstab der Kartenansicht in Metern pro Pixel.
|
private void |
modifyAffineTransform(AffineTransform affinTransform) |
protected void |
paintComponent(Graphics g) |
int |
print(Graphics g,
PageFormat pageFormat,
int pageIndex) |
void |
redraw() |
void |
redrawObject(DisplayObject displayObject) |
private void |
removeAllMapScaleListeners() |
void |
removeMapScaleListeners(Collection<MapPane.MapScaleListener> listeners)
Entfernt die übergebenen Objekte aus der Menge der auf Änderungen des Maßstabs angemeldeten Objekte.
|
void |
resolutionChanged(Double newValue,
Double oldValue)
Diese Methode wird aufgerufen, wenn die Auflösung geändert wird.
|
void |
selectObject(SystemObject systemObject) |
void |
setAntialising(boolean antialising)
Setzt die interne Variable, die bestimmt, ob die Kartenansicht mit Anti-Aliasing gezeichnet wird.
|
private void |
setMapScale(double mapScale)
Aktualisiert den Maßstab der Kartenansicht, informiert alle MapScaleListeners und
veranlaßt ein Neuzeichnen der Kartenansicht.
|
private void |
setSelection(Collection<DisplayObject> displayObjects) |
private void |
setSelection(DisplayObject displayObject) |
void |
setTooltip(boolean tooltip)
Schaltet den Tooltipp auf der Kartenansicht ab oder an.
|
private Rectangle |
transformedRectangle(Rectangle rectangle) |
void |
updateDisplayObject(DisplayObject 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 |
viewEntryChanged(View view,
int i)
Der Layer an der i-ten Stelle der Ansicht wurde geändert.
|
void |
viewEntryInserted(View view,
int newIndex)
Der Ansicht wurde ein Layer am Ende angehängt.
|
void |
viewEntryRemoved(View view,
int i)
Der Layer an der i-ten Stelle der Ansicht wurde gelöscht.
|
private void |
visibleObjectsChanged() |
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
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, 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
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private final GenericNetDisplay _gnd
private final View _view
private final DisplayObjectManager _displayObjectManager
private final Set<DisplayObject> _selectedDisplayObjects
private final List<MapPane.MapScaleListener> _mapScaleListeners
private AffineTransform _mapTransform
private Double _mapScale
private double _zoomTranslateX
private double _zoomTranslateY
private double _zoomScale
private boolean _antialising
private boolean _isTooltipOn
private boolean _showNothing
public static final String _newline
public MapPane(GenericNetDisplay gnd, View view)
init()
noch ausgeführt werden.gnd
- die Netzdarstellungview
- die aktuelle Ansichtpublic void init()
public Point2D getCenterPoint()
public GenericNetDisplay getGnd()
public void redraw()
public Rectangle getUTMBounds()
private void initALayerPanel(ViewEntry entry, int i, JProgressBar progressBar)
private void initTheLayerPanels()
private void initAffineMapTransform()
public void viewEntriesSwitched(View view, int i, int j)
View.ViewChangeListener
viewEntriesSwitched
in interface View.ViewChangeListener
view
- die Ansichti
- ein Indexj
- ein Indexprivate void visibleObjectsChanged()
private Set<SystemObject> getVisibleObjects()
public void selectObject(SystemObject systemObject)
public void focusOnObject(SystemObject systemObject)
private Set<DisplayObject> getDisplayObjectsForSystemObject(SystemObject systemObject)
public void viewEntryInserted(View view, int newIndex)
View.ViewChangeListener
viewEntryInserted
in interface View.ViewChangeListener
view
- die Ansichtpublic void viewEntryChanged(View view, int i)
View.ViewChangeListener
viewEntryChanged
in interface View.ViewChangeListener
view
- die Ansichti
- ein Indexpublic void viewEntryRemoved(View view, int i)
View.ViewChangeListener
viewEntryRemoved
in interface View.ViewChangeListener
view
- die Ansichti
- ein Indexpublic int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException
print
in interface Printable
PrinterException
public static void disableDoubleBuffering(Component c)
c
- eine Componentpublic static void enableDoubleBuffering(Component c)
c
- eine Componentpublic double meterProPixel()
private void determineCurrentScale()
protected void paintComponent(Graphics g)
paintComponent
in class JComponent
private void drawScaling(Graphics2D g, double pixelPerMeter)
private void addToSelection(DisplayObject displayObject)
public void clearSelection()
private void setSelection(DisplayObject displayObject)
private void setSelection(Collection<DisplayObject> displayObjects)
private void addListeners()
public void redrawObject(DisplayObject displayObject)
private void setMapScale(double mapScale)
scale
- der neue Maßstabsfaktorpublic Double getMapScale()
public void addMapScaleListeners(Collection<MapPane.MapScaleListener> listeners)
listeners
- die neuen Listenerpublic void removeMapScaleListeners(Collection<MapPane.MapScaleListener> listeners)
listeners
- die zu löschenden Listenerprivate void removeAllMapScaleListeners()
public String getToolTipText(MouseEvent e)
getToolTipText
in class JComponent
e
- der Mouse-Eventprivate void modifyAffineTransform(AffineTransform affinTransform)
public boolean isAntialising()
true
zurück, wenn die Kartenansicht mit Anti-Aliasing gezeichnet wird.true
genau dann, wenn die Kartenansicht mit Anti-Aliasing gezeichnet wirdpublic void setAntialising(boolean antialising)
antialising
- die neue Einstellung von Anti-Aliasingpublic boolean isTooltipOn()
true
zurück, falls der Tooltipp auf der Kartenansicht aktiviert ist.true
genau dann, wenn der Tooltipp auf der Kartenansicht aktiviert istpublic void setTooltip(boolean tooltip)
tooltip
- der neue Wert für die Tooltipp-Aktivitätpublic void updateDisplayObject(DisplayObject displayObject)
displayObject
- das DisplayObjectpublic void resolutionChanged(Double newValue, Double oldValue)
GenericNetDisplay.ResolutionListener
resolutionChanged
in interface GenericNetDisplay.ResolutionListener
newValue
- die neue BildschirmauflösungoldValue
- die alte Bildschirmauflösungpublic Collection<SystemObject> getSelectedSystemObjects()
public void clearEverything()
public void displayObjectTypeAdded(DisplayObjectType displayObjectType)
DOTManager.DOTChangeListener
displayObjectTypeAdded
in interface DOTManager.DOTChangeListener
displayObjectType
- ein Darstellungstyppublic void displayObjectTypeChanged(DisplayObjectType displayObjectType)
DOTManager.DOTChangeListener
displayObjectTypeChanged
in interface DOTManager.DOTChangeListener
displayObjectType
- ein Darstellungstyppublic void displayObjectTypeRemoved(String displayObjectTypeName)
DOTManager.DOTChangeListener
displayObjectTypeRemoved
in interface DOTManager.DOTChangeListener