public class GenericNetDisplay
extends javax.swing.JFrame
Ein GenericNetDisplay-Objekt ist ein Top-Level-Fenster, das eine Menüzeile besitzt und die Kartendarstellung zeigt. Diese Klasse wird wahlweise aus RunGND heraus instanziiert (Stand-Alone-Anwendung) oder aus dem GNDPlugin (Plugin in einer anderen Anwendung, z.B. dem GTM).
Die Initialisierung eines Objekts erfolgt mit Hilfe einer Ansicht
, die eine geordnete Reihenfolge von Layern enthält. Diese Layer werden in der Reihenfolge von oben nach unten in der Legende angeben und in der Kartenansicht gezeichnet. Um die Konfigurationsdaten und eventuell dynamische Daten erhalten zu können, bekommt ein GenericNetDisplay-Objekt eine Datenverteilerverbindung übergeben. Eine Liste von Systemobjekten beeinflußt den Kartenausschnitt, mit dem die Kartenansicht anfänglich gezeigt wird: ist die Liste leer, so wird die ganze Karte gezeichnet, andernfalls wird aus den Koordinaten der übergebenen Systemobjekte ein diese Objekte umfassendes Rechteck berechnet und angezeigt.
Modifier and Type | Class and Description |
---|---|
private class |
GenericNetDisplay.MyFileNameExtensionFilter |
private class |
GenericNetDisplay.ObjectListListener |
(package private) static interface |
GenericNetDisplay.ResolutionListener
Eine Listener-Interface für Objekte, die sich auf Änderungen der Bildschirmauflösung anmelden wollen.
|
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
private ClientDavInterface |
_connection |
private static Debug |
_debug |
private DOTManagerDialog |
_dotManagerDialog |
private static GenericNetDisplay |
_instance
Instanz dieser Klasse.
|
private boolean |
_isAntiAliasingOn |
private boolean |
_isDoubleBuffered |
private boolean |
_isMapsTooltipOn |
private LayerManagerDialog |
_layerManagerDialog |
private LegendPane |
_legendPane |
private javax.swing.Icon |
_logo |
private MapPane |
_mapPane |
private NoticeManager |
_noticeManager |
private javax.swing.JTextArea |
_noticeTextArea |
javax.swing.JList |
_objectList |
private java.util.List<GenericNetDisplay.ResolutionListener> |
_resolutionListeners |
private java.lang.Double |
_screenResolution |
private DynamicListModel |
_selectedObjects |
private java.util.List<SelectionListener> |
_selectionListeners |
private javax.swing.JSplitPane |
_splitPane |
private boolean |
_standAlone |
private java.lang.String |
_startViewName |
private boolean |
_systemEdit |
private java.util.List<SystemObject> |
_systemObjects |
private View |
_view |
private ViewManagerDialog |
_viewManagerDialog |
private static java.lang.String |
RESOLUTION |
private static java.lang.String |
STARTVIEWNAME |
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
GenericNetDisplay(View view,
ClientDavInterface connection,
java.util.List<SystemObject> systemObjects,
boolean standAlone)
Konstruiert ein Objekt aus den übergebenen Informationen.
|
Modifier and Type | Method and Description |
---|---|
static void |
addPlugins(java.util.List<java.lang.String> plugins)
Diese Methode macht die externen Plugins bekannt, indem die vollständigen Namen der Klassen, die DisplayObjectTypePlugin implementieren, übergeben werden.
|
void |
addResolutionListener(GenericNetDisplay.ResolutionListener listener)
Fügt das übergebene Objekt der Liste der auf Änderungen der Bildschirmauflösung angemeldeten Objekte hinzu.
|
void |
addSelectionListener(SelectionListener listener)
Fügt das übergebene Objekt der Liste der auf Änderungen der Selektion angemeldeten Objekte hinzu.
|
private void |
addShutDownHook() |
private void |
clearResolutionPreference() |
private void |
createMenu() |
ClientDavInterface |
getConnection()
Gibt die Datenverteilerverbindung zurück.
|
static GenericNetDisplay |
getInstance()
Gibt die Instanz der Klasse zurück.
|
NoticeManager |
getNoticeManager() |
private static java.util.prefs.Preferences |
getPreferenceStartPath(ClientDavInterface connection)
Gibt den Ausgangknoten zum Abspeichern der Benutzer-Präferenzen zurück.
|
java.lang.Double |
getScreenResolution()
Gibt die Bildschirmauflösung zurück, mit deren Hilfe das GenericNetDisplay den Maßstab zu bestimmen versucht.
|
static java.lang.Double |
getScreenResolutionFromPreferences(ClientDavInterface connection)
Holt die Bildschirmauflösung aus den Präferenzen, wenn sie dort hinterlegt ist, oder berechnet sie andernfalls.
|
static java.lang.String |
getStartViewNameFromPreferences(ClientDavInterface connection)
Holt den Namen der Startansicht aus den Präferenzen, wenn er dort hinterlegt ist.
|
java.util.List<SystemObject> |
getSystemObjects()
Gibt die Systemobjekte, die im Konstruktor angegeben wurden, zurück.
|
View |
getView()
Gibt die aktuelle Ansicht zurück.
|
boolean |
isAntiAliasingOn()
Gibt
true zurück, wenn die Kartenansicht mit Anti-Aliasing betrieben wird. |
boolean |
isDoubleBuffered()
Gibt
true zurück, wenn die Kartenansicht mit Doppelpufferung ( double buffering) betrieben wird. |
boolean |
isMapsTooltipOn()
Gibt
true zurück, wenn die Kartenansicht mit Tooltipp betrieben wird. |
boolean |
isStandAlone()
Gibt
true zurück, wenn das GenericNetDisplay-Objekt sich als eigenständige Anwendung betrachtet. |
private javax.swing.JComponent |
makeLeftPanel() |
private void |
notifyResolutionListenersResolutionChanged(java.lang.Double newResolution,
java.lang.Double oldResulotion)
Benachrichtigt alle Objekte, die auf Änderungen der Bildschirmauflösung angemeldet sind.
|
private void |
notifySelectionListenersSelectionChanged(java.util.Collection<SystemObject> systemObjects)
Benachrichtigt alle Objekte, die auf Änderungen der Selektion angemeldet sind.
|
void |
printNetDisplay()
Methode zum Drucken der Kartenansicht.
|
private void |
readPreferences() |
boolean |
removeResolutionListener(GenericNetDisplay.ResolutionListener listener)
Entfernt das übergebene Objekt aus der Liste der auf Änderungen der Bildschirmauflösung angemeldeten Objekte und gibt
true zurück, wenn dies erfolgreich war, und false sonst. |
boolean |
removeSelectionListener(SelectionListener listener)
Entfernt das übergebene Objekt aus der Liste der auf Änderungen der Selektion angemeldeten Objekte.
|
void |
saveGrafic()
Methode zum Abspeichern der Grafik.
|
void |
selectionChanged() |
void |
setSplitPaneFromView(View view)
Diese Methode zeigt die übergebene Ansicht in der Kartendarstellung des GenericNetDisplay-Objekts, d.h. in seiner Legende und der Kartenansicht.
|
void |
setVisibleObjects(java.util.Set<SystemObject> displayObjects) |
private void |
writeResolutionPreference(java.lang.Double screenResolution) |
void |
writeStartViewNamePreference(java.lang.String startViewName)
Speichert den Namen der Startansicht in den Benutzer-Präferenzen.
|
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private View _view
private ClientDavInterface _connection
private java.util.List<SystemObject> _systemObjects
private boolean _standAlone
private javax.swing.JSplitPane _splitPane
private LegendPane _legendPane
private MapPane _mapPane
private javax.swing.Icon _logo
private ViewManagerDialog _viewManagerDialog
private LayerManagerDialog _layerManagerDialog
private DOTManagerDialog _dotManagerDialog
private boolean _isDoubleBuffered
private boolean _isAntiAliasingOn
private boolean _isMapsTooltipOn
private java.lang.String _startViewName
private java.lang.Double _screenResolution
private static java.lang.String RESOLUTION
private static java.lang.String STARTVIEWNAME
private final java.util.List<GenericNetDisplay.ResolutionListener> _resolutionListeners
private final java.util.List<SelectionListener> _selectionListeners
private static final Debug _debug
public javax.swing.JList _objectList
private javax.swing.JTextArea _noticeTextArea
private NoticeManager _noticeManager
private DynamicListModel _selectedObjects
private boolean _systemEdit
private static GenericNetDisplay _instance
Instanz dieser Klasse.
public GenericNetDisplay(View view, ClientDavInterface connection, java.util.List<SystemObject> systemObjects, boolean standAlone)
Konstruiert ein Objekt aus den übergebenen Informationen. Der Stand-Alone-Wert gibt der Netzdarstellung die Information, ob sie sich als eigenständige Anwendung betrachten kann oder nicht. Im Falle des Schließens des Fensters wird sie im Stand-Alone-Fall komplett beendet.
view
- eine Ansichtconnection
- eine Datenverteiler-VerbindungsystemObjects
- eine Liste mit SystemobjektenstandAlone
- true
genau dann, wenn sie sich als eigenständige Anwendung betrachten sollpublic static GenericNetDisplay getInstance()
Gibt die Instanz der Klasse zurück.
public boolean isStandAlone()
Gibt true
zurück, wenn das GenericNetDisplay-Objekt sich als eigenständige Anwendung betrachtet.
true
zurück, wenn das sich this als eigenständige Anwendung betrachtetpublic View getView()
Gibt die aktuelle Ansicht zurück.
private void addShutDownHook()
public void setSplitPaneFromView(View view)
Diese Methode zeigt die übergebene Ansicht in der Kartendarstellung des GenericNetDisplay-Objekts, d.h. in seiner Legende und der Kartenansicht.
view
- die neue Ansichtprivate javax.swing.JComponent makeLeftPanel()
public ClientDavInterface getConnection()
Gibt die Datenverteilerverbindung zurück.
private void createMenu()
public void printNetDisplay()
Methode zum Drucken der Kartenansicht.
public void saveGrafic() throws java.io.IOException
Methode zum Abspeichern der Grafik.
java.io.IOException
- wird geworfen, wenn etwas beim Speichern fehlschlägtpublic java.util.List<SystemObject> getSystemObjects()
Gibt die Systemobjekte, die im Konstruktor angegeben wurden, zurück.
public boolean isDoubleBuffered()
Gibt true
zurück, wenn die Kartenansicht mit Doppelpufferung ( double buffering) betrieben wird.
isDoubleBuffered
in class java.awt.Component
true
genau dann, wenn die Doppelpufferung aktiv istpublic boolean isAntiAliasingOn()
Gibt true
zurück, wenn die Kartenansicht mit Anti-Aliasing betrieben wird.
true
genau dann, wenn die Anti-Aliasing aktiv istpublic boolean isMapsTooltipOn()
Gibt true
zurück, wenn die Kartenansicht mit Tooltipp betrieben wird.
true
genau dann, wenn der Tooltipp der Kartenansicht aktiv istpublic java.lang.Double getScreenResolution()
Gibt die Bildschirmauflösung zurück, mit deren Hilfe das GenericNetDisplay den Maßstab zu bestimmen versucht.
private static java.util.prefs.Preferences getPreferenceStartPath(ClientDavInterface connection)
Gibt den Ausgangknoten zum Abspeichern der Benutzer-Präferenzen zurück.
connection
- Datenverteilerverbindung zum ermitteln des zugehörigen Einstellungs-Knotens (KV-Abhängig)public static java.lang.Double getScreenResolutionFromPreferences(ClientDavInterface connection)
Holt die Bildschirmauflösung aus den Präferenzen, wenn sie dort hinterlegt ist, oder berechnet sie andernfalls.
connection
- Datenverteilerverbindung zum ermitteln des zugehörigen Einstellungs-Knotens (KV-Abhängig)public static java.lang.String getStartViewNameFromPreferences(ClientDavInterface connection)
Holt den Namen der Startansicht aus den Präferenzen, wenn er dort hinterlegt ist.
connection
- Datenverteilerverbindung zum ermitteln des zugehörigen Einstellungs-Knotens (KV-Abhängig)private void readPreferences()
private void writeResolutionPreference(java.lang.Double screenResolution)
private void clearResolutionPreference()
public void writeStartViewNamePreference(java.lang.String startViewName)
Speichert den Namen der Startansicht in den Benutzer-Präferenzen.
startViewName
- der Name der Startansichtpublic void setVisibleObjects(java.util.Set<SystemObject> displayObjects)
public void selectionChanged()
public NoticeManager getNoticeManager()
public void addResolutionListener(GenericNetDisplay.ResolutionListener listener)
Fügt das übergebene Objekt der Liste der auf Änderungen der Bildschirmauflösung angemeldeten Objekte hinzu.
listener
- der hinzuzufügende Listenerpublic boolean removeResolutionListener(GenericNetDisplay.ResolutionListener listener)
Entfernt das übergebene Objekt aus der Liste der auf Änderungen der Bildschirmauflösung angemeldeten Objekte und gibt true
zurück, wenn dies erfolgreich war, und false
sonst.
listener
- der zu entfernende Listenertrue
genau dann, wenn der Listener entfernt wurdeprivate void notifyResolutionListenersResolutionChanged(java.lang.Double newResolution, java.lang.Double oldResulotion)
Benachrichtigt alle Objekte, die auf Änderungen der Bildschirmauflösung angemeldet sind.
newResolution
- die neue BildschirmauflösungoldResulotion
- die alte Bildschirmauflösungpublic void addSelectionListener(SelectionListener listener)
Fügt das übergebene Objekt der Liste der auf Änderungen der Selektion angemeldeten Objekte hinzu.
listener
- der neue Listenerpublic boolean removeSelectionListener(SelectionListener listener)
Entfernt das übergebene Objekt aus der Liste der auf Änderungen der Selektion angemeldeten Objekte.
listener
- der zu entfernende Listenerprivate void notifySelectionListenersSelectionChanged(java.util.Collection<SystemObject> systemObjects)
Benachrichtigt alle Objekte, die auf Änderungen der Selektion angemeldet sind.
systemObjects
- die neue Selektionpublic static void addPlugins(java.util.List<java.lang.String> plugins)
Diese Methode macht die externen Plugins bekannt, indem die vollständigen Namen der Klassen, die DisplayObjectTypePlugin implementieren, übergeben werden. Sie muss vor dem ersten Zugriff auf Teile dieser Plugins aufgerufen werden; der beste Moment dafür ist, bevor der erste Konstruktor von GenericNetDisplay aufgerufen wird, denn sonst könnte schon die Initialisierung aus den Präferenzen scheitern. Die Arbeit wird an den PluginManager delegiert. Durch das Anbieten dieser Methode muss der Benutzer (also z.B. GTM oder RunGND) der GND nur mit GenericNetDisplay arbeiten.
plugins
- die neuen externen Plugins