|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
de.bsvrz.pat.sysbed.dataview.DataViewPanel
public class DataViewPanel
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.
Nested Class Summary | |
---|---|
private class |
DataViewPanel.VerticalScrollBarAdjustmentListener
Wird benötigt, um das Scrollverhalten des vertikalen Scrollbalkens zu steuern. |
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.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
---|---|
private AttributeGroup |
_attributeGroup
speichert die Attributgruppe |
private List<Dataset> |
_datasets
speichert alle Datensätze, die von der Applikation gesendet wurden |
private DataViewModel |
_dataViewModel
speichert eine Instanz des DataViewModel |
private Debug |
_debug
Der Debug-Logger |
private int |
_firstRow
Gibt den ersten Datensatz an, der angezeigt wird. |
private boolean |
_firstRun
merkt sich, ob es sich um den ersten Aufruf handelt |
private HeaderGrid |
_head
speichert die Sruktur des Headers |
private JScrollPane |
_headerScrollPane
speichert das dargestellte ScrollPane |
private int |
_lastRow
Gibt den letzten Datensatz an, der angezeigt wird. |
private JPanel |
_lowerRowHeaderPanel
der untere Platzhalter des Zeilenheaders |
private JPanel |
_lowerViewportPanel
der untere Platzhalter des Viewports |
private JPanel |
_rowHeaderPanel
der sichtbare Teil des Zeilenheaders |
private int |
_rowHeaderWidth
Gibt die Breite des Zeilenheaders zurück. |
private int |
_screenHeight
die sichtbare Höhe des Viewports |
private JPanel |
_upperRowHeaderPanel
der obere Platzhalter für den Zeilenheader |
private JPanel |
_upperViewportPanel
der obere Platzhalter für den Viewport |
private JScrollBar |
_verticalScrollBar
speichert den vertikalen Scrollbalken |
private JPanel |
_viewportPanel
der sichtbare Teil des Viewports |
private String |
TIME_FORMAT
speichert das Zeitformat für die Spalte 'Zeit' |
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 | |
---|---|
DataViewPanel(DataViewModel model)
Konstruktor. |
Method Summary | |
---|---|
void |
addDataset(int index,
DataTableObject dataTableObject)
Fügt einen Datensatz an eine bestimmte Position der bisherigen Datensätze ein. |
void |
addDatasets(List<DataTableObject> dataTableObjects)
Fügt eine beliebige Anzahl neuer Datensätze an die bestehenden Datensätze hinten an. |
private boolean |
checkRowHeight()
Prüft, wieviel Platz die Komponente in der Höhe verbraucht und ob sie noch in der ScrollPane angezeigt werden kann. |
private void |
createAndShowGui()
Erstellt die Elemente für das Panel und ordnet diese an. |
private JPanel |
createColumnHeader()
Erstellt den vollständigen Spaltenheader für das ScrollPane. |
private JPanel |
createRowHeader()
Erstellt den initialen Zeilenheader für das ScrollPane. |
private JComponent |
createUpperLeftCorner()
Erstellt die Komponente für die obere linke Ecke im ScrollPane. |
private JPanel |
createViewport()
Erstellt den initialen Viewport für das Scrollpane |
boolean |
getFirstRun()
Hoffentlich bald überflüssig. |
HeaderGrid |
getHeaderGrid()
Gibt den Spaltenheader zurück. |
void |
initHeaderSize()
Die Größe des Headers wird initial gesetzt. |
void |
removeDataset(int index)
Löscht einen Datensatz an angegebener Position. |
void |
setDatasets(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. |
private void |
setHeaderSizes(HeaderGrid headerGrid,
int percent)
Initialisiert die Größen aller Elemente des Headers rekursiv. |
private void |
setHeaderSuccessors(HeaderGrid attributeList)
Bestimmt die Nachfolger einer Attributgruppe bzw. |
private void |
setLowerPanel(int height)
Setzt für die unteren Platzhalter des Zeilenheaders und des Viewports die Höhe. |
private void |
setScrollPane()
Das ScrollPane wird mit Spaltenheader, Zeilenheader und oberer linker Ecke ausgestattet und initialisiert. |
private void |
setUpperPanel(int height)
Setzt für die oberen Platzhalter des Zeilenheaders und des Viewports die Höhe. |
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 java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private final Debug _debug
private final DataViewModel _dataViewModel
private final AttributeGroup _attributeGroup
private final List<Dataset> _datasets
private final JScrollPane _headerScrollPane
private HeaderGrid _head
private boolean _firstRun
private final JScrollBar _verticalScrollBar
private final JPanel _upperRowHeaderPanel
private final JPanel _upperViewportPanel
private final JPanel _rowHeaderPanel
private final JPanel _viewportPanel
private final JPanel _lowerRowHeaderPanel
private final JPanel _lowerViewportPanel
private int _firstRow
private int _lastRow
private int _screenHeight
private final String TIME_FORMAT
private int _rowHeaderWidth
Constructor Detail |
---|
public DataViewPanel(DataViewModel model)
DataViewModel
. Das Model gibt Benachrichtigungen, falls sich an den anzuzeigenden Daten etwas ändert.
model
- das DataViewModelMethod Detail |
---|
private void createAndShowGui()
private void setScrollPane()
AdjustmentListener
wird angemeldet.
private JPanel createColumnHeader()
private JPanel createRowHeader()
private JComponent createUpperLeftCorner()
private JPanel createViewport()
public HeaderGrid getHeaderGrid()
public void initHeaderSize()
setHeaderSizes(HeaderGrid,int)
private void setHeaderSizes(HeaderGrid headerGrid, int percent)
headerGrid
- Spaltenheaderpercent
- gibt die prozentuale Ausdehnung anprivate void setHeaderSuccessors(HeaderGrid attributeList)
attributeList
- Objekt vom Typ HeaderGrid
, von dem die Nachfolger bestimmt werden sollen.public boolean getFirstRun()
initHeaderSize()
von der Applikation aufgerufen wird.
public void setFirstRun(boolean firstRun)
firstRun
- true ist Default-Einstellungpublic void addDatasets(List<DataTableObject> dataTableObjects)
addDatasets
in interface DataViewListener
dataTableObjects
- Liste neuer Datensätzepublic void addDataset(int index, DataTableObject dataTableObject)
addDataset
in interface DataViewListener
index
- Position des neuen DatensatzesdataTableObject
- der neue Datensatzpublic void setDatasets(List<DataTableObject> dataTableObjects)
setDatasets
in interface DataViewListener
dataTableObjects
- Liste neuer Datensätzepublic void removeDataset(int index)
removeDataset
in interface DataViewListener
index
- Position des zu löschenden Datensatzespublic void update(int index, DataTableObject dataTableObject)
update
in interface DataViewListener
index
- Position des zu aktualisierenden DatensatzesdataTableObject
- aktueller Datensatzprivate void setUpperPanel(int height)
height
- die neue Höhe der Platzhalterprivate void setLowerPanel(int height)
height
- die neue Höhe der Platzhalterprivate boolean checkRowHeight()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |