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

    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.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
    DataViewPanel​(DataViewModel model)
    Konstruktor.
  • Method Summary

    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ö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 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

    Methods inherited from class java.lang.Object

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

    • DataViewPanel

      public DataViewPanel​(DataViewModel model)
      Konstruktor. Benötigt eine Instanz des DataViewModel. Das Model gibt Benachrichtigungen, falls sich an den anzuzeigenden Daten etwas ändert.
      Parameters:
      model - das DataViewModel
  • Method Details

    • 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 Methode initHeaderSize() von der Applikation aufgerufen wird.
      Returns:
      gibt true oder false 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 interface DataViewListener
      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 interface DataViewListener
      Parameters:
      index - Position des neuen Datensatzes
      dataTableObject - 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 interface DataViewListener
      Parameters:
      dataTableObjects - Liste neuer Datensätze
    • removeDataTableObject

      public void removeDataTableObject​(int index)
      Löscht einen Datensatz an angegebener Position.
      Specified by:
      removeDataTableObject in interface DataViewListener
      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 interface DataViewListener
      Parameters:
      index - Position des zu aktualisierenden Datensatzes
      dataTableObject - 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()
      Gibt true 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 class java.awt.Component