Class LegendPane

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTree
de.kappich.pat.gnd.gnd.LegendPane
All Implemented Interfaces:
MapPane.MapScaleListener, View.ViewChangeListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable

public class LegendPane
extends javax.swing.JTree
implements View.ViewChangeListener, MapPane.MapScaleListener
Die Legende der Kartendarstellung.

Das LegendPane steht für den Legendenbaum in der Kartendarstellung der GND. Es ist als JTree realisiert und besitzt die von DefaultTreeModel abgeleitete Klasse LegendTreeModel, die aus den LegendTreeNodes der Layer bei jeder Änderungkomplett neu zusammengebaut werden. Dies geschieht im Konstruktor von LegendTreeModel. Ein Update wird durch eine Änderung einer Ansicht oder des Anzeigemaßstabs augelöst.

Beim Neuaufbau des Legendenbaums bleiben alle nicht-expandierten Knoten in diesem Zustand, während alle anderen, also insbesondere neu hinzugefügte Knoten, expandiert werden.

See Also:
Serialized Form
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  LegendPane.LegendCellRenderer
    Der LegendCellRenderer legt fest wie die Teile der Legende angezeigt werden.
    class  LegendPane.LegendTreeModel
    Diese Klasse unterscheidet sich von einem DefaultTreeModel allein durch den Konstruktor, in dem die Daten aus den Membern von LegendPane ermittelt werden.

    Nested classes/interfaces inherited from class javax.swing.JTree

    javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DropLocation, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector

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

    ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount

    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
  • Constructor Summary

    Constructors
    Constructor Description
    LegendPane​(de.bsvrz.dav.daf.main.ClientDavInterface connection, GenericNetDisplay genericNetDisplay, View view)
    Konstruiert ein Objekt aus der übergebenen Ansicht, wobei allerdings die Initialisierung noch ausbleibt (s.
  • Method Summary

    Modifier and Type Method Description
    void init​(java.lang.Double mapScale)
    Initialisiert das Objekt.
    void mapScaleChanged​(double scale)
    Diese Methode wird für die Listener aufgerufen, wenn eine Maßstabsänderung mitgeteilt werden muss.
    void setMapScale​(double mapScale)
    Setzt den Maßstabsfaktor.
    java.lang.String toString()  
    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.JTree

    addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, 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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

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

    • LegendPane

      public LegendPane​(de.bsvrz.dav.daf.main.ClientDavInterface connection, GenericNetDisplay genericNetDisplay, View view)
      Konstruiert ein Objekt aus der übergebenen Ansicht, wobei allerdings die Initialisierung noch ausbleibt (s. init(java.lang.Double)).
      Parameters:
      view - eine Ansicht
  • Method Details

    • init

      public void init​(java.lang.Double mapScale)
      Initialisiert das Objekt.
      Parameters:
      mapScale - der Maßstab für die Kartendarstellung
    • 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
    • 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
    • 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
    • setMapScale

      public void setMapScale​(double mapScale)
      Setzt den Maßstabsfaktor.
      Parameters:
      mapScale - den neue Maßstabsfaktor
    • mapScaleChanged

      public void mapScaleChanged​(double scale)
      Description copied from interface: MapPane.MapScaleListener
      Diese Methode wird für die Listener aufgerufen, wenn eine Maßstabsänderung mitgeteilt werden muss.
      Specified by:
      mapScaleChanged in interface MapPane.MapScaleListener
      Parameters:
      scale - der neue Maßstab
    • toString

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