schmitzm.geotools.gui
Class FeatureTablePane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by schmitzm.swing.JPanel
                      extended by schmitzm.geotools.gui.FeatureTablePane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
SelectableFeatureTablePane

public class FeatureTablePane
extends JPanel

Diese Komponente stellt eine Tabelle dar, in der die Attribute einer FeatureCollection dargestellt werden. Optional werden links neben der Tabelle die in der Tabelle ausgewaehlten Features grafisch dargestellt.

Bemerkung:
Als TableModel fuer die SimpleFeature-Tabelle verwendet diese Klasse ein eigenes internes FeatureCollectionTableModel, welches effizienter arbeitet, als org.geotools.swing.table.FeatureTableModel.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  SortableJTable featuresTable
          Tabelle in der die Features angezeigt werden.
protected  FeatureCollectionTableModel featuresTableModel
          Tabellen-Modell der SimpleFeature-Tabelle.
protected  Style featureStyle
          Style, in dem die Features in der Karte dargestellt werden
protected  SelectableXMapPane mapPane
          Preview-Bereich fuer die in der Tabelle selektierten Features.
static String PREVIEW_MAPPANE_TOOLTIP
          Constant for the ToolTip of the preview mappane
protected  JSplitPane splitPane
          Splitpane, das die Karten-Vorschau von der Tabelle trennt (null wenn Karten-Vorschau deaktiviert ist).
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
FeatureTablePane()
          Erzeugt einen neue Komponente mit Preview-Bereich.
FeatureTablePane( fc)
          Erzeugt einen neue Komponente mit Preview-Bereich.
FeatureTablePane( fc, boolean geomPreview)
          Erzeugt einen neue Komponente.
FeatureTablePane( fc, Style style, boolean geomPreview)
          Erzeugt einen neue Komponente.
FeatureTablePane(FeatureCollectionTableModel model, Style style, boolean geomPreview)
          Erzeugt einen neue Komponente.
 
Method Summary
 AttributeTypeFilter getAttributeFilter()
          Liefert den Filter, der die dargestellten Attribut-Spalten bestimmt.
  getFeatureCollection()
          Liefert die angezeigten Features.
 JScrollPane getFeaturesTableScrollPane()
           
 Style getFeatureStyle()
          Liefert den Style, in dem die Features in der Karte dargestellt werden.
  getSelectedFeatures()
          Liefert die in der Tabelle selektierten Features.
 SortableJTable getTable()
          Liefert die Attribut-Tabelle um deren Eigenschaften (z.B.
protected  void initGUI(boolean geomPreview)
          Initalisiert die GUI.
 boolean isGeometryPreviewVisible()
          Prueft, ob der Geometry-Preview angezeigt wird.
protected  void performListSelection()
          Zeigt die aktuell in der Tabelle selektierten Features in rot im Preview-Bereich an.
 void setAttributeFilter(AttributeTypeFilter attrFilter)
          Setzt den Filter, der die dargestellten Attribut-Spalten bestimmt.
 void setFeatureCollection( fc)
          Setzt die angezeigte FeatureCollection
 void setFeatureStyle(Style style)
          Setzt den Style, in dem die Features in der Karte dargestellt werden.
protected  void showFeaturesInMap()
          Zeigt einen die übergebene FeatureCollection rot in der Karte an.
 
Methods inherited from class schmitzm.swing.JPanel
print, setBackground, setEnabled
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

featuresTable

protected SortableJTable featuresTable
Tabelle in der die Features angezeigt werden.


featuresTableModel

protected FeatureCollectionTableModel featuresTableModel
Tabellen-Modell der SimpleFeature-Tabelle.


mapPane

protected SelectableXMapPane mapPane
Preview-Bereich fuer die in der Tabelle selektierten Features.


featureStyle

protected Style featureStyle
Style, in dem die Features in der Karte dargestellt werden


PREVIEW_MAPPANE_TOOLTIP

public static final String PREVIEW_MAPPANE_TOOLTIP
Constant for the ToolTip of the preview mappane


splitPane

protected JSplitPane splitPane
Splitpane, das die Karten-Vorschau von der Tabelle trennt (null wenn Karten-Vorschau deaktiviert ist).

Constructor Detail

FeatureTablePane

public FeatureTablePane()
Erzeugt einen neue Komponente mit Preview-Bereich.


FeatureTablePane

public FeatureTablePane( fc)
Erzeugt einen neue Komponente mit Preview-Bereich.

Parameters:
fc - angezeigte Features

FeatureTablePane

public FeatureTablePane( fc,
                        boolean geomPreview)
Erzeugt einen neue Komponente.

Parameters:
fc - angezeigte Features
geomPreview - bestimmt, ob ein Preview-Bereich angezeigt wird (true) oder nicht (false)

FeatureTablePane

public FeatureTablePane( fc,
                        Style style,
                        boolean geomPreview)
Erzeugt einen neue Komponente.

Parameters:
fc - angezeigte Features
style - Style, in dem die Features in der Karte dargestellt werden
geomPreview - bestimmt, ob ein Preview-Bereich angezeigt wird (true) oder nicht (false)

FeatureTablePane

public FeatureTablePane(FeatureCollectionTableModel model,
                        Style style,
                        boolean geomPreview)
Erzeugt einen neue Komponente.

Parameters:
model - verwendetes TableModel (kann null sein)
fc - angezeigte Features
style - Style, in dem die Features in der Karte dargestellt werden
geomPreview - bestimmt, ob ein Preview-Bereich angezeigt wird (true) oder nicht (false)
Method Detail

getFeaturesTableScrollPane

public JScrollPane getFeaturesTableScrollPane()

initGUI

protected void initGUI(boolean geomPreview)
Initalisiert die GUI.

Parameters:
geomPreview - bestimmt, ob ein Preview-Bereich angezeigt wird (true) oder nicht (false)

getAttributeFilter

public AttributeTypeFilter getAttributeFilter()
Liefert den Filter, der die dargestellten Attribut-Spalten bestimmt.


setAttributeFilter

public void setAttributeFilter(AttributeTypeFilter attrFilter)
Setzt den Filter, der die dargestellten Attribut-Spalten bestimmt.

Parameters:
attrFilter - Filter

isGeometryPreviewVisible

public boolean isGeometryPreviewVisible()
Prueft, ob der Geometry-Preview angezeigt wird.


setFeatureCollection

public void setFeatureCollection( fc)
Setzt die angezeigte FeatureCollection

Parameters:
fc - anzuzeigende Features

getTable

public SortableJTable getTable()
Liefert die Attribut-Tabelle um deren Eigenschaften (z.B. Spaltenbreite) zu aendern.


getFeatureCollection

public  getFeatureCollection()
Liefert die angezeigten Features.


setFeatureStyle

public void setFeatureStyle(Style style)
Setzt den Style, in dem die Features in der Karte dargestellt werden.

Parameters:
style - Style fuer die Features

getFeatureStyle

public Style getFeatureStyle()
Liefert den Style, in dem die Features in der Karte dargestellt werden.


getSelectedFeatures

public  getSelectedFeatures()
Liefert die in der Tabelle selektierten Features.


performListSelection

protected void performListSelection()
Zeigt die aktuell in der Tabelle selektierten Features in rot im Preview-Bereich an.


showFeaturesInMap

protected void showFeaturesInMap()
Zeigt einen die übergebene FeatureCollection rot in der Karte an. Darunter liegen in grau alle Features. Diese Funktion hat keinen Einfluss auf die in der Tabelle angezeigten Features!!

Parameters:
fc - eine FeatureCollection