Class DataViewPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- de.bsvrz.pat.sysbed.dataview.DataViewPanel
-
- All Implemented Interfaces:
DataViewListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class DataViewPanel extends javax.swing.JPanel implements DataViewListener
Dieses Panel stellt die Datensätze, die dasModel
ü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 MethodeinitHeaderSize()
initialisiert werden.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
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
-
-
Constructor Summary
Constructors Constructor Description DataViewPanel(DataViewModel model)
Konstruktor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDataTableObject(int index, DataTableObject dataTableObject)
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.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öhevoid
initHeaderSize()
Die Größe des Headers wird initial gesetzt.boolean
isHorizontalScrollBarVisible()
Gibttrue
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
setVerticalScrollBarsMaximumValue(int value)
Setzt den maximalen Wert des vertikalen Rollbalkens.void
setVerticalScrollBarValue(int value)
Setzt den Wert des vertikalen Rollbalkens.java.lang.String
toString()
void
update(int index, DataTableObject dataTableObject)
Aktualisiert an angegebener Position den Datensatz.-
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, 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
-
-
-
-
Constructor Detail
-
DataViewPanel
public DataViewPanel(DataViewModel model)
Konstruktor. Benötigt eine Instanz desDataViewModel
. Das Model gibt Benachrichtigungen, falls sich an den anzuzeigenden Daten etwas ändert.- Parameters:
model
- das DataViewModel
-
-
Method Detail
-
getSelectionManager
public SelectionManager getSelectionManager()
Gibt den SelectionManager zurück.- Returns:
- den SelectionManager
-
getHeaderGrid
public HeaderGrid getHeaderGrid()
Gibt den Spaltenheader zurück.- Returns:
- den Spaltenheader
-
initHeaderSize
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.- See Also:
setHeaderSizes(HeaderGrid, int)
-
getFirstRun
public boolean getFirstRun()
Hoffentlich bald überflüssig. Spätestens, wenn die MethodeinitHeaderSize()
von der Applikation aufgerufen wird.- Returns:
- gibt
true
oderfalse
zurück
-
setFirstRun
public void setFirstRun(boolean firstRun)
Kann auf false gesetzt werden, falls die Größen des Spaltenheaders initialisiert worden sind.- Parameters:
firstRun
-true
ist Default-Einstellung
-
addDataTableObjects
public 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(..).
- Specified by:
addDataTableObjects
in interfaceDataViewListener
- Parameters:
dataTableObjects
- Liste neuer Datensätze
-
addDataTableObject
public void addDataTableObject(int index, DataTableObject dataTableObject)
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.
- Specified by:
addDataTableObject
in interfaceDataViewListener
- Parameters:
index
- Position des neuen DatensatzesdataTableObject
- der neue Datensatz
-
setDataTableObjects
public 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.
- Specified by:
setDataTableObjects
in interfaceDataViewListener
- Parameters:
dataTableObjects
- Liste neuer Datensätze
-
removeDataTableObject
public void removeDataTableObject(int index)
Löscht einen Datensatz an angegebener Position.- Specified by:
removeDataTableObject
in interfaceDataViewListener
- Parameters:
index
- Position des zu löschenden Datensatzes
-
update
public 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.
- Specified by:
update
in interfaceDataViewListener
- Parameters:
index
- Position des zu aktualisierenden DatensatzesdataTableObject
- aktueller Datensatz
-
increaseLowerPanel
public void increaseLowerPanel(int height)
Vergrößert den unteren Platzhalter um die angebene Höhe- Parameters:
height
- die zu addierende Höhe für den Platzhalter
-
setVerticalScrollBarValue
public void setVerticalScrollBarValue(int value)
Setzt den Wert des vertikalen Rollbalkens.- Parameters:
value
- der neue Wert
-
getVerticalScrollBarsMaximumValue
public int getVerticalScrollBarsMaximumValue()
Gibt den Maximalwert des vertikalen Rollbalkens zurück.- Returns:
- gibt den Maximalwert des vertikalen Rollbalkens zurück
-
setVerticalScrollBarsMaximumValue
public void setVerticalScrollBarsMaximumValue(int value)
Setzt den maximalen Wert des vertikalen Rollbalkens.- Parameters:
value
- der neue Wert
-
getVerticalScrollBarsVisibleAmount
public int getVerticalScrollBarsVisibleAmount()
Gibt den Ausdehung des Knopfes der vertikalen Rollbalkens zurück.- Returns:
- gibt den Ausdehung des Knopfes der vertikalen Rollbalkens zurück
-
getVisibleViewPortHeight
public int getVisibleViewPortHeight()
Gibt die Höhe des sichtbaren Bereich des Viewports zurück.- Returns:
- gibt die Höhe des sichtbaren Bereich des Viewports zurück
-
isHorizontalScrollBarVisible
public boolean isHorizontalScrollBarVisible()
Gibttrue
zurück, wenn der horizontale Rolbalken sichtbar ist.- Returns:
- gibt
true
zurück, wenn der horizontale Rolbalken sichtbar ist
-
setHorizontalScrollBarPolicy
public void setHorizontalScrollBarPolicy(int horizontalPolicy)
Setzt den Modus des horizontalen Rollbalkens.- Parameters:
horizontalPolicy
- der neue Modus
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.awt.Component
-
-