public class DataViewPanel extends javax.swing.JPanel implements DataViewListener
Dieses Panel stellt die Datensätze, die das Model
übergibt, in einem ScrollPane dar. Mit dem Konstruktor wird ein baumartiger Header erstellt, dessen Spaltenbreiten durch Schieberegler verändert werden kann. Damit dies funktioniert, muss nachdem der Header erzeugt und dieser angezeigt (z.B. durch validate() oder durch Frame.setVisible()) wird mit der Methode initHeaderSize()
initialisiert werden.
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
DataViewPanel(DataViewModel model)
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
void |
addDataTableObject(int index,
DataTableObject dataTableObject)
TBD Fügt einen Datensatz an eine bestimmte Position der bisherigen Datensätze ein.
|
void |
addDataTableObjects(java.util.List<DataTableObject> dataTableObjects)
Fügt eine beliebige Anzahl neuer Datensätze an die bestehenden Datensätze hinten an.
|
java.util.Map<RowElement,CellKey> |
findRowElements(java.util.Set<CellKey> keys)
Methode zur Ermittlung von RowElements
|
java.util.Map<javax.swing.JComponent,RowKey> |
findRowHeaderRows(java.util.Set<RowKey> keys)
Methode zur Ermittlung von Komponenten
|
java.util.Map<RowPanel,CellKey> |
findRowPanels(java.util.Set<CellKey> keys)
Methode zur Ermittlung von RowPanels
|
long |
getDataindex(java.lang.String key)
Methode zur Ermittlung des Datensatzindex
|
boolean |
getFirstRun()
Hoffentlich bald überflüssig.
|
HeaderGrid |
getHeaderGrid()
Gibt den Spaltenheader zurück.
|
SelectionManager |
getSelectionManager()
Gibt den SelectionManager zurück.
|
int |
getVerticalScrollBarsMaximumValue()
Gibt den Maximalwert des vertikalen Rollbalkens zurück.
|
int |
getVerticalScrollBarsVisibleAmount()
Gibt den Ausdehung des Knopfes der vertikalen Rollbalkens zurück.
|
int |
getVisibleViewPortHeight()
Gibt die Höhe des sichtbaren Bereich des Viewports zurück.
|
void |
increaseLowerPanel(int height)
Vergrößert den unteren Platzhalter um die angebene Höhe
|
void |
initHeaderSize()
Die Größe des Headers wird initial gesetzt.
|
boolean |
isHorizontalScrollBarVisible()
Gibt
true zurück, wenn der horizontale Rolbalken sichtbar ist. |
void |
removeDataTableObject(int index)
Löscht einen Datensatz an angegebener Position.
|
void |
setDataTableObjects(java.util.List<DataTableObject> dataTableObjects)
Alle bisherigen Datensätze werden gelöscht und die neuen werden übernommen.
|
void |
setFirstRun(boolean firstRun)
Kann auf false gesetzt werden, falls die Größen des Spaltenheaders initialisiert worden sind.
|
void |
setHorizontalScrollBarPolicy(int horizontalPolicy)
Setzt den Modus des horizontalen Rollbalkens.
|
void |
setLowerPanel(int height)
Setzt für die unteren Platzhalter des Zeilenheaders und des Viewports die Höhe.
|
void |
setVerticalScrollBarsMaximumValue(int value)
Setzt den maximalen Wert des vertikalen Rollbalkens.
|
void |
setVerticalScrollBarValue(int value)
Setzt den Wert des vertikalen Rollbalkens.
|
void |
update(int index,
DataTableObject dataTableObject)
Aktualisiert an angegebener Position den Datensatz.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, 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
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
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
public DataViewPanel(DataViewModel model)
Konstruktor. Benötigt eine Instanz des DataViewModel
. Das Model gibt Benachrichtigungen, falls sich an den anzuzeigenden Daten etwas ändert.
model
- das DataViewModelpublic long getDataindex(java.lang.String key)
Methode zur Ermittlung des Datensatzindex
key
- Schlüssel, wessen Datensatzindex gesucht wirdpublic java.util.Map<javax.swing.JComponent,RowKey> findRowHeaderRows(java.util.Set<RowKey> keys)
Methode zur Ermittlung von Komponenten
keys
- die Schlüsselpublic java.util.Map<RowElement,CellKey> findRowElements(java.util.Set<CellKey> keys)
Methode zur Ermittlung von RowElements
keys
- die Schlüsselpublic java.util.Map<RowPanel,CellKey> findRowPanels(java.util.Set<CellKey> keys)
Methode zur Ermittlung von RowPanels
keys
- die Schlüsselpublic SelectionManager getSelectionManager()
Gibt den SelectionManager zurück.
public HeaderGrid getHeaderGrid()
Gibt den Spaltenheader zurück.
public void initHeaderSize()
Die Größe des Headers wird initial gesetzt. Dies ist notwendig, damit die Headergröße durch die Maus verändert werden kann. Diese Methode muss nach dem Anzeigen der Tabelle, allerdings bevor die ersten Daten kommen, aufgerufen werden.
setHeaderSizes(HeaderGrid,int)
public boolean getFirstRun()
Hoffentlich bald überflüssig. Spätestens, wenn die Methode initHeaderSize()
von der Applikation aufgerufen wird.
true
oder false
zurückpublic void setFirstRun(boolean firstRun)
Kann auf false gesetzt werden, falls die Größen des Spaltenheaders initialisiert worden sind.
firstRun
- true
ist Default-Einstellungpublic void addDataTableObjects(java.util.List<DataTableObject> dataTableObjects)
Fügt eine beliebige Anzahl neuer Datensätze an die bestehenden Datensätze hinten an.
Achtung: es ist nicht geklärt, ob diese Methode auch dafür sorgt, dass die Zeilen der Datensätze sichtbar werden, falls sie im sichtbaren Bereich sind, oder ob dazu noch der AdjustmentListener getriggert werden muss. S. addDataTableObject(..).
addDataTableObjects
in interface DataViewListener
dataTableObjects
- Liste neuer Datensätzepublic void addDataTableObject(int index, DataTableObject dataTableObject)
TBD Fügt einen Datensatz an eine bestimmte Position der bisherigen Datensätze ein. Befindet sich die Position innerhalb der gerade dargestellten Datensätze, dann wird die Darstellung neu erzeugt und angezeigt.
DIESER KOMMENTAR IST FALSCH: Tatsächlich wird nur die erste Zeile ins Panel eingefügt, alle anderen kommen erst durch den AdjustmentListener hinzu. Da ein AdjustmentEvent künstlich nur recht komisch auszulösen ist, hätte man das besser so wie beschrieben implementiert. TN, nach langer Fehlersuche.
addDataTableObject
in interface DataViewListener
index
- Position des neuen DatensatzesdataTableObject
- der neue Datensatzpublic void setDataTableObjects(java.util.List<DataTableObject> dataTableObjects)
Alle bisherigen Datensätze werden gelöscht und die neuen werden übernommen. Die ersten Datensätze, die angezeigt werden können, werden dargestellt.
Für diese Methode ist nicht klar, ob sie von den Problemen der Methode addDataTableObject betroffen ist.
setDataTableObjects
in interface DataViewListener
dataTableObjects
- Liste neuer Datensätzepublic void removeDataTableObject(int index)
Löscht einen Datensatz an angegebener Position.
removeDataTableObject
in interface DataViewListener
index
- Position des zu löschenden Datensatzespublic void update(int index, DataTableObject dataTableObject)
Aktualisiert an angegebener Position den Datensatz.
Von dieser Methode ist nicht bekannt, ob sie von den Problemen der Methode addDataTableObject betroffen ist.
update
in interface DataViewListener
index
- Position des zu aktualisierenden DatensatzesdataTableObject
- aktueller Datensatzpublic void setLowerPanel(int height)
Setzt für die unteren Platzhalter des Zeilenheaders und des Viewports die Höhe.
height
- die neue Höhe der Platzhalterpublic void increaseLowerPanel(int height)
Vergrößert den unteren Platzhalter um die angebene Höhe
height
- die zu addierende Höhe für den Platzhalterpublic void setVerticalScrollBarValue(int value)
Setzt den Wert des vertikalen Rollbalkens.
value
- der neue Wertpublic int getVerticalScrollBarsMaximumValue()
Gibt den Maximalwert des vertikalen Rollbalkens zurück.
public void setVerticalScrollBarsMaximumValue(int value)
Setzt den maximalen Wert des vertikalen Rollbalkens.
value
- der neue Wertpublic int getVerticalScrollBarsVisibleAmount()
Gibt den Ausdehung des Knopfes der vertikalen Rollbalkens zurück.
public int getVisibleViewPortHeight()
Gibt die Höhe des sichtbaren Bereich des Viewports zurück.
public boolean isHorizontalScrollBarVisible()
Gibt true
zurück, wenn der horizontale Rolbalken sichtbar ist.
true
zurück, wenn der horizontale Rolbalken sichtbar istpublic void setHorizontalScrollBarPolicy(int horizontalPolicy)
Setzt den Modus des horizontalen Rollbalkens.
horizontalPolicy
- der neue Modus