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.AccessibleJPaneljavax.swing.JComponent.AccessibleJComponentlistenerList, 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, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, transferFocusUpCyclepublic 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 DataViewListenerdataTableObjects - 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 DataViewListenerindex - 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 DataViewListenerdataTableObjects - Liste neuer Datensätzepublic void removeDataTableObject(int index)
Löscht einen Datensatz an angegebener Position.
removeDataTableObject in interface DataViewListenerindex - 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 DataViewListenerindex - 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