public class DataTableObjectRenderer extends Object
DataTableObject
) alle für seine Darstellung notwendigen
Komponenenten, d.h. Spalten- und Zeilen-Header und auch die Felder in Form der hierarchischen Struktur
eines RowData
.
Alle abrufbaren Informationen werden erst beim ersten Abruf gebildet.
Modifier and Type | Field and Description |
---|---|
private DataTableObject |
_dataTableObject
speichert einen Datensatz vom Datenverteiler
|
private HeaderGrid |
_header
speichert die Struktur des Spaltenheaders, damit die Nutzdaten damit verknüpft werden können
|
private int |
_headerWidth
speichert die Breite des Headers
|
private int |
_height
speichert die Höhe der Komponente einer Zeile
|
private RowData |
_rowData
speichert die hierarchischen Struktur des Datensatzes
|
private JComponent |
_rowHeaderRow
speichert die zum Datensatz gehörende Zeilenkopf-Komponente
|
private RowKey |
_rowKey
speichert den RowKey
|
private SelectionManager |
_selectionManager
speichert den SelectionManager
|
private JComponent |
_viewportRow
speichert die zum Datensatz gehörende Datenzeilen-Komponente
|
Constructor and Description |
---|
DataTableObjectRenderer(HeaderGrid header,
DataTableObject dataTableObject,
SelectionManager selectionManager)
Der Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
private void |
createRowData()
Erzeugt aus einem Datensatz eine hierarchische Struktur.
|
private JComponent |
createRowHeaderRow(DataTableObject dataTableObject,
String format)
Erzeugt anhand der Daten eine neue Zeile im Zeilenheader, bestehend aus einem Zeitstempel und
dem dazugehörenden Objekt.
|
private void |
createViewportRow()
Erzeugt aus einem Datensatz eine Swing-Komponente, damit die Daten angezeigt werden können.
|
static Color |
getColorForState(DataState dataState)
Legt die Hintergrundfarbe für die "Keine-Daten-Fälle" in Abhängigkeit von dem Status fest.
|
static String |
getDatakindText(ArchiveDataKind dataKind)
Ermittelt den 2-Zeichentext für die allererste Spalte der Onlinetabelle, die mit 'Art' überschrieben ist.
|
static String |
getDatakindTooltipText(ArchiveDataKind dataKind)
Ermittelt den Tooltipp für die allererste Spalte der Onlinetabelle, die mit 'Art' überschrieben ist.
|
DataTableObject |
getDataTableObject()
Gibt den Datensatz zurück.
|
private void |
getHeaderWidth(HeaderGrid headerGrid,
RowData rowData) |
int |
getHeight()
Gibt die Höhe dieser Zeile in Pixel zurück.
|
RowData |
getRowData()
Gibt die hierarchische Struktur des Datensatzes zurück.
|
JComponent |
getRowHeaderRow(String timeFormat)
Gibt die Komponente des Zeilenkopfes zurück.
|
RowKey |
getRowKey()
Gibt den RowKey zurück.
|
static String |
getTextForState(DataState dataState)
Legt einen Text für jeden DataState fest; wird für die "Keine-Daten-Fälle" benötigt.
|
static String |
getTimeText(TimingType timingType,
String archiveTime,
String dataIndexString,
String dataTime)
Ermittelt den Text für die zweite Spalte der Onlinetabelle, die mit 'Zeit' überschrieben ist.
|
JComponent |
getViewportRow()
Gibt die Komponente der Datenzeile zurück.
|
private void |
linkData(RowData rowData,
HeaderGrid headerGrid)
Rekursive Hilfsmethode.
|
private void |
removeComponents()
Löscht alle nicht mehr benötigten Komponenten, außer des Datensatzes, des Spaltenheaders und der Höhe.
|
private void |
setHeight()
Ermittelt die Höhe der diesen Datensatz repräsentierenden Swing-Komponente.
|
void |
setLinks()
Erstellt die Verbindungen zwischen den Daten und dem Header.
|
private void |
unlinkData(RowData rowData,
HeaderGrid headerGrid)
Rekursive Hilfsmethode.
|
void |
unsetLinks()
Entfernt alle Einträge, außer den Datensatz und die Höhe einer Zeile.
|
private final DataTableObject _dataTableObject
private final HeaderGrid _header
private RowData _rowData
private JComponent _rowHeaderRow
private JComponent _viewportRow
private int _height
private int _headerWidth
private final SelectionManager _selectionManager
private final RowKey _rowKey
public DataTableObjectRenderer(HeaderGrid header, DataTableObject dataTableObject, SelectionManager selectionManager)
head
- Element, welches die hierarchische Struktur darstelltdataTableObject
- neuer DatensatzselectionManager
- Selektions-Managerpublic DataTableObject getDataTableObject()
public RowData getRowData()
public RowKey getRowKey()
public JComponent getRowHeaderRow(String timeFormat)
timeFormat
- das gewünschte Formatpublic JComponent getViewportRow()
public int getHeight()
public void setLinks()
public void unsetLinks()
public static String getTextForState(DataState dataState)
dataState
- der Zustand des Datensatzespublic static Color getColorForState(DataState dataState)
dataState
- private void createRowData()
private void linkData(RowData rowData, HeaderGrid headerGrid)
setLinks()
aufgerufen. Die Verbindungen zum
Spaltenheader werden hergestellt und die Breite der Komponenten, welche die Daten anzeigen
wird initial festgelegt. Diese Methode wird nur ausgeführt, wenn im Datensatz auch Daten
vorhanden sind.rowData
- darzustellende DatenheaderGrid
- Spaltenheaderprivate void getHeaderWidth(HeaderGrid headerGrid, RowData rowData)
private void unlinkData(RowData rowData, HeaderGrid headerGrid)
rowData
- Daten, die mit dem Spaltenheader verbunden sindheaderGrid
- Spaltenheaderpublic static String getDatakindText(ArchiveDataKind dataKind)
dataKind
- die ArchiveDataKindpublic static String getDatakindTooltipText(ArchiveDataKind dataKind)
dataKind
- die ArchiveDataKindpublic static String getTimeText(TimingType timingType, String archiveTime, String dataIndexString, String dataTime)
timingType
- archiveTime
- dataIndexString
- dataTime
- private JComponent createRowHeaderRow(DataTableObject dataTableObject, String format)
dataTableObject
- das Objekt der Online-Tabelleformat
- das Zeitformat, um Datum und Zeit darzustellenprivate void createViewportRow()
private void setHeight()
private void removeComponents()