de.guibuilder.framework
Class GuiTable

java.lang.Object
  extended by de.guibuilder.framework.GuiMember
      extended by de.guibuilder.framework.GuiElement
          extended by de.guibuilder.framework.GuiComponent
              extended by de.guibuilder.framework.GuiTable
All Implemented Interfaces:
IDatasetComponent, IDatasetMember, MemberAble, MemberPopupAble

public class GuiTable
extends GuiComponent

Implementierung einer Tabellen-Komponente.

Wichtige Methoden:

Mit Click auf den Spaltenkopf wird die Tabelle nach dieser Spalte sortiert.
Mit Shift-Click absteigend.

Der Inhalt der Tabelle kann mit Excel ausgetauscht werden:
Mit Ctrl-C wird der selektierte Bereich der Tabelle kopiert;
mit Shift-Ctrl-C die gesamte Tabelle einschließlich der Spaltenüberschriften.

See Also:
GuiTableRow

Nested Class Summary
 class GuiTable.GuiTableColumn
          Mit dieser Tabellenspalte kann eine GuiKomponente verknüpft werden, die als externer Editor für die selektierte Spalte fungiert.
 class GuiTable.GuiTableComboRenderer
          Dient der Darstellung von ComboBoxen in einer Tabelle.
 class GuiTable.GuiTableModel
          TableModel für GuiTable.
 
Field Summary
 
Fields inherited from class de.guibuilder.framework.GuiComponent
BOOLEAN, DATA_TYPE_NAMES, DATE, ENUM, INTEGER, MULTILINE, NUMBER, STRING, TABLE, TIME, TREE
 
Fields inherited from class de.guibuilder.framework.GuiMember
GUI_ACTION, GUI_COMPONENT, GUI_CONTAINER, GUI_TABLE, GUI_TREE, GUI_TYPE_NAMES, OID
 
Constructor Summary
GuiTable()
          Erzeugt eine Tabelle mit dem Namen "table".
GuiTable(java.lang.String name)
          Erzeugt eine Tabelle mit einem definierten Namen.
 
Method Summary
 void addColumn(TableColumnAble comp, java.lang.String title, int width)
          Fügt der Tabelle eine neue Spalte hinzu.
 void addRow(GuiTableRow row)
          Fügt eine Zeile der Tabelle hinzu.
 void clearSelection()
          ggf. selektierte Zeilen werden deselektiert.
 void click(java.awt.event.MouseEvent e)
          Wenn die Tabelle angeklickt wird, wird CurrentTable bei Rootpane gesetzt
 void commitChanges()
          Teilt der Komponente mit, daß die Benutzereingaben erfolgreich verarbeitet wurden.
 void copyRow()
          Kopiert die selektierte Zeile in eine interne Variable.
 void d_click(java.awt.event.MouseEvent e)
          Tabelle wird doppelt geklickt.
 void deleteRow()
          Löscht die selektierte Zeile aus der Tabelle.
 void deleteRow(int row)
          Löscht die angegebene Zeile aus der Tabelle.
 int deleteSelectedRows()
          Löscht alle selektierten Zeilen.
 void duplicateRow()
          Dubliziert die selektierte Zeile
 int findRow(java.lang.String columnName, java.lang.Object columnValue)
          Sucht die (erste) Zeile mit dem angegebenen Wert in der angegebenen Spalte.
 java.util.Vector getAllValues(boolean modified)
           
 electric.xml.Document getAllValuesXml()
          Liefert den Inhalt der Tabelle als XML-Document.
 java.lang.String getCellValue(int col)
          Liefert den Inhalt der angegebenen Spalte aus der selektierten Zeile
 java.lang.String getCellValue(int row, int col)
          Liefert den Inhalt einer Zelle
 java.lang.String getCellValue(int row, java.lang.String columnName)
          Liefert den Inhalt der Zelle der angegebenen Zeile der angegebenen Spalte.
 java.lang.String getCellValue(java.lang.String columnName)
          Liefert den Inhalt der Spalte mit dem angegebenen Spaltenname der selektierten Zeile.
 int getColCount()
          Liefert die Anzahl der mit addColumn(de.guibuilder.framework.TableColumnAble, java.lang.String, int)hinzugefügten Columns.
 GuiTable.GuiTableColumn getColumn(int colIndex)
          Liefert die TableColumn unter dem angegebenen Index (0-relativ).
 GuiTable.GuiTableColumn getColumn(java.lang.String columnName)
          Liefert die TableColumn mit dem angegebenen Namen.
 java.util.Vector<java.lang.Object> getColumnIdentifiers()
          Liefert einen Vector mit den Namen der Spalten.
 int getColumnIndex(java.lang.String colName)
          Liefert den Index der Spalte unter Angabe ihres Namens.
 java.lang.String[] getColValues(int col)
          Liefert den Inhalt einer Spalte als einen Array von Strings.
 java.lang.String getCurrentRowPath(java.lang.String current)
           
 void getDatasetValues(JDataSet ds)
          Überträgt den Inhalt der Tabelle in den angegebenen Dataset.
 int getDataType()
          Liefert den Datentyp der Componente.
 java.util.Vector<GuiTableRow> getDeletedRows()
          Liefert die seit dem letzten reset gelöschten Zeilen.
 GuiTable.GuiTableModel getGuiTableModel()
          Liefert das TableModel.
 int getGuiType()
          Liefert GUI_TABLE
 javax.swing.JComponent getJComponent()
          Liefert JTable
 java.lang.String getMsgColHeaderClick()
           
 java.lang.String getMsgRowClick()
           
 void getPreferences(JDataSet ds)
          Hier leer implementiert
 GuiTableRow getRow()
          Liefert die selektierte Zeile oder null, wenn keine Zeile selektiert oder die Tabelle leer ist.
 GuiTableRow getRow(int index)
          Liefert die Zeile mit der angegebenen Nummer (0-relativ).
 int getRowCount()
          Liefert die Anzahl der Zeilen in der Tabelle.
 int getRowHeight()
          See JTable#getRowHeight Default is 21
 java.util.Vector getRowValues()
          Liefert den Inhalt der selektierten Zeile
 java.util.Vector getRowValues(int index)
          Deprecated. Liefert den Inhalt der angegebenen Tabellenzeile als Vector. Wirft eine Exception, wenn rowNumber außerhalb des gültigen Bereichs ist.
 java.util.Vector getSearchables(java.util.Vector ret)
          Deprecated.  
 int getSelectedColumn()
           
 int getSelectedRow()
          Liefert die Nummer der selektierte Zeile (0-relativ) oder -1 wenn Tabelle leer.
 int[] getSelectedRows()
          Liefert ein Array, in welchem die Zeilennummern der selektierten Rows enthalten sind.
 java.util.Vector getTableRows()
          Liefert der Inhalt der Tabelle als Vector von TableRows
 java.lang.String getTag()
          Liefert den XML-Element-Tag für den Member.
 java.lang.Object getUnformatedValue()
          Liefert den unformatierten Inhalt dieser Componente.
 java.lang.Object getValue()
          Liefert den Inhalt der Tabelle als einen Vector von Vectoren.
 boolean hasColumn(java.lang.String columnName)
           
 GuiTableRow insertRow()
          Fügt zur Laufzeit eine leere Zeile der Tabelle am Ende hinzu.
 void insertRow(GuiTableRow tableRow)
          Fügt zur Laufzeit eine Zeile der Tabelle am Ende hinzu.
 GuiTableRow insertRow(int row)
          Fügt zur Laufzeit eine leere Zeile an der angegebenen Zeile in die Tabelle ein.
 void insertRow(int row, GuiTableRow tableRow)
          Fügt zur Laufzeit eine Zeile in die Tabelle ein.
 boolean isAutoSize()
          Liefert das Kennzeichen, ob die Spaltenbreite automatisch errechnet wird.
 void pasteRow()
          Fügt die gelöschte oder kopierte Zeile ein wenn sich nicht null ist.
 void requestFocus()
          Scrollt auch zu der selektierten Zeile
 void reset()
          Leert die Tabelle
 void setAllValuesXml(electric.xml.Element node)
          Füllt die Tabelle mit Werten aus einem XML-Document.
 void setCellValue(int row, int column, java.lang.Object value)
           
 void setCellValue(int column, java.lang.Object value)
           
 void setCellValue(int row, java.lang.String columnName, java.lang.Object value)
           
 void setCellValue(java.lang.String columnName, java.lang.Object value)
          Setzt den Wert der angegeben Spalte der selektierten Zeile.
 void setColumnValue(java.lang.Object obj, int colIndex)
          Deprecated. Setzt den Wert einer Spalte der selektierten Zeile neu.
 void setColumnValue(java.lang.Object obj, int colIndex, int rowIndex)
          Deprecated. Setzt den Wert einer Spalte der angegebenen Zeile neu.
 void setColumnValue(java.lang.Object obj, java.lang.String colName)
          Deprecated. Setzt den Wert einer Spalte der selektierten Zeile neu.
 void setColValues(int col, java.lang.String[] values)
          Setzt den Inhalt einer Tabellenspalte neu (StringArray).
 void setColValues(int col, java.util.Vector values)
          Setzt den Inhalt einer Tabellenspalte neu.
 void setDatasetValues(JDataSet ds)
          Setzt den Inhalt der Komponente auf den Inhalt des Models der über getElementPath erreichbar ist.
 void setFocus(int row, int col)
          Setzt den Focus auf die angegebene Zelle.
 void setItems(int colIndex, java.lang.String[] items)
          Füllt die Combobox der angegebenen Spalte mit neuen Werten.
 void setItems(int colIndex, java.util.Vector items)
          Füllt die Combobox der angegebenen Spalte mit neuen Werten.
 void setItems(java.lang.String colName, java.util.ArrayList al)
           
 void setItems(java.lang.String colName, JDataSet ds)
          Füllt eine ComboBox-Spalte mit den angegebenen Werten.
 void setMsgColHeaderClick(java.lang.String cmd)
          Teilt der Komponente mit, daß sie ein ColumnHeaderClick-Ereignis an den Controller weiterreichen soll.
 void setMsgDrop(java.lang.String cmd)
          Setzt das ActionCommand, welches beim Drop auf dieses Widget ausgelöste wird.
 void setMsgFileDrop(java.lang.String cmd)
           
 void setMsgRowClick(java.lang.String cmd)
          Es wird das Ereignis OnRowClick="[ActionCommand]" definiert.
 void setPreferences(JDataSet ds)
          Hier leer implementiert
 void setRowEditor(java.lang.String name)
          Es wird ein Spezifikations-Script gesetzt, welcher beim Doppelklick auf die Tabelle aufgerufen wird.
 void setRowHeight(int pixel)
          See JTable#setRowHeight Default is 21
 void setRowValues(int row, java.util.Vector values)
          Deprecated. Setzt die Werte einer Tabellenzeile neu (Vector).
Die Spalten werden dabei von links nach rechts mit den Werten des übergebenen Vector aufgefüllt; dieser Vector darf auch kleiner oder länger als die Zahl der Spalten sein; überzählige Spalten werden abgeschnitten.
 void setSelectedRow(int index)
          Setzt die selektierte Zeile der Tabelle neu
 void setSelectedRows(int fromIndex, int toIndex)
          Markiert ein Interval von Zeilen.
 void setValue(java.lang.Object val)
          Ersetzt den Inhalt der Tabelle durch einen neuen Vector von Vectoren.
 void setValueAt(java.lang.Object val, int row, int col)
          Setzt den Wert einer Zelle neu
 void showPopupMenu(int modi, int x, int y)
          Zeigt ein Kontextmenü an Abhängigkeit eines Modifiers; muß jeweils überschrieben werden.
 void sortRows(int colIndex, boolean ascending)
          Sortiert die Tabelle nach dem Inhalt der angegebenen Spalte.
 void stopCellEditing()
          Da JTable (seit Jahren!)
 void tableReady()
          Teilt der Tabelle mit, daß die Initialisierung der Tabelle mit Spalten und Zeilen beendet ist.
 
Methods inherited from class de.guibuilder.framework.GuiComponent
getDatasetValues, getDataTypeName, getGuiComponent, getLabel, getMaxlen, getMinlen, isModified, isNotnull, postProc, setMaxlen, setMinlen, setModified, setNotnull, toString, verify
 
Methods inherited from class de.guibuilder.framework.GuiElement
getFileName, getHint, getMsgChange, getMsgClick, getMsgDblClick, getParentTable, getRootPane, hasTabstop, isEnabled, setEnabled, setHint, setMsgChange, setMsgClick, setMsgDblClick, setMsgLostFocus, setParentTable, setTabstop
 
Methods inherited from class de.guibuilder.framework.GuiMember
addSetter, getAwtComponent, getBackground, getConstraints, getControler, getController, getDropTarget, getElementName, getElementPath, getFont, getForeground, getFullName, getGuiParent, getGuiTypeName, getMaximumSize, getMemberElement, getMinimumSize, getMsgDragEnter, getMsgDragExit, getMsgDragOver, getMsgDrop, getMsgFileDrop, getMsgMouseOver, getMsgPopup, getName, getOid, getParentNames, getParentTab, getPopupMenu, getPreferredSize, getRef, getToolTipText, getUserObject, isRootElement, isVisible, setBackground, setConstraints, setControler, setController, setDrag, setElementName, setFont, setForeground, setGuiParent, setLabel, setMaximumSize, setMinimumSize, setMsgDragEnter, setMsgDragExit, setMsgDragOver, setMsgFileDrop, setMsgMouseMoved, setMsgMouseOver, setMsgPopup, setName, setOid, setPopupMenu, setPreferredSize, setRef, setStateAttributes, setToolTipText, setUserObject, setVisible, showPopupMenu
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.guibuilder.framework.IDatasetMember
getElementName, getElementPath, isRootElement, setElementName
 

Constructor Detail

GuiTable

public GuiTable()
Erzeugt eine Tabelle mit dem Namen "table".


GuiTable

public GuiTable(java.lang.String name)
Erzeugt eine Tabelle mit einem definierten Namen.

Method Detail

getTag

public final java.lang.String getTag()
Description copied from class: GuiMember
Liefert den XML-Element-Tag für den Member.

Specified by:
getTag in interface MemberAble
Specified by:
getTag in class GuiMember

getJComponent

public final javax.swing.JComponent getJComponent()
Liefert JTable

Specified by:
getJComponent in class GuiMember

getGuiType

public final int getGuiType()
Liefert GUI_TABLE

Overrides:
getGuiType in class GuiComponent

getDataType

public final int getDataType()
Description copied from class: GuiComponent
Liefert den Datentyp der Componente.

Denkbare Werte sind:

Specified by:
getDataType in class GuiComponent

setMsgColHeaderClick

public final void setMsgColHeaderClick(java.lang.String cmd)
Teilt der Komponente mit, daß sie ein ColumnHeaderClick-Ereignis an den Controller weiterreichen soll. Bei Übergaben von null wird die Weiterleitung abgeschaltet. Diese Methode muß vor der Methode tableReady() aufgerufen werden.

Attribut-Syntax OnColHeaderClick="[ActionCommand]"

Parameters:
cmd - ActionCommand dieser Message
See Also:
tableReady()

getMsgColHeaderClick

public final java.lang.String getMsgColHeaderClick()
Returns:
ActionCommand
See Also:
setMsgColHeaderClick(java.lang.String)

setMsgRowClick

public final void setMsgRowClick(java.lang.String cmd)
Es wird das Ereignis OnRowClick="[ActionCommand]" definiert.

Parameters:
cmd - Das ActionCommand für OnRowClick=

getMsgRowClick

public final java.lang.String getMsgRowClick()
Returns:
ActionCommand
See Also:
setMsgRowClick(java.lang.String)

setMsgDrop

public void setMsgDrop(java.lang.String cmd)
Description copied from class: GuiMember
Setzt das ActionCommand, welches beim Drop auf dieses Widget ausgelöste wird. Gleizeitig wird dieses Widget als ein DropTarget eingerichtet.
Siehe das Attribut OnDrop="[ActionCommand]"
Drop funktioniert bei folgenden Komponeneten: Bei Übergabe von null oder Leerstring wird dieses DropTarget wieder entfernt. Mit GuiMember.getDropTarget() kann das hierbei eingerichtete DropTarget manipuliert werden.

Overrides:
setMsgDrop in class GuiMember
Parameters:
cmd - Ein ActionCommand; üblicherweise der Name einer Methode des Controllers.
See Also:
GuiMember.getDropTarget()

setMsgFileDrop

public void setMsgFileDrop(java.lang.String cmd)

getRowHeight

public int getRowHeight()
See JTable#getRowHeight Default is 21

Returns:

setRowHeight

public void setRowHeight(int pixel)
See JTable#setRowHeight Default is 21

Parameters:
pixel -

addColumn

public final void addColumn(TableColumnAble comp,
                            java.lang.String title,
                            int width)
Fügt der Tabelle eine neue Spalte hinzu. Die Spalten sind in der gewünschten Reihenfolge zuzuweisen. Erlaubte Komponenten sind GuiText (und davon abgeleitete Klassen wie Date, Time, Money, Number), GuiCombo, GuiCheck, GuiLabel, Hidden.

Es wird die minimale und die maximale Breite der Komponente übernommen.
Bei unsichtbaren Komponenten wird die Breite auf Null gesetzt.

Achtung!
Diese Methode darf nur für neu erstellte Tabellen verwendet werden, die anfangs mit Spalten initialisiert werden sollen. Am Ende die Initialisierung muß die Methode tableReady() aufgerufen werden!

Parameters:
comp - Eine Komponente
title - Spaltenüberschrift
width - Preferred Width in Pixeln.
Throws:
java.lang.IllegalArgumentException - wenn unzulässige Komponente übergeben wird.
See Also:
tableReady()

getColCount

public final int getColCount()
Liefert die Anzahl der mit addColumn(de.guibuilder.framework.TableColumnAble, java.lang.String, int)hinzugefügten Columns.


getRowCount

public final int getRowCount()
Liefert die Anzahl der Zeilen in der Tabelle.


addRow

public final void addRow(GuiTableRow row)
Fügt eine Zeile der Tabelle hinzu.

Achtung!
Diese Methode darf nur für neu erstellte Tabellen verwendet werden, die anfangs mit Zeilen initialisiert werden sollen. Am Ende die Initialisierung muß die Methode tableReady()aufgerufen werden!

Sollen zur Laufzeit später Zeilen hinzugefügt werden, ist insertRow(boolean)zu verwenden.

Parameters:
row - Eine GuiTableRow

getRow

public final GuiTableRow getRow()
Liefert die selektierte Zeile oder null, wenn keine Zeile selektiert oder die Tabelle leer ist.

Returns:

getRow

public final GuiTableRow getRow(int index)
Liefert die Zeile mit der angegebenen Nummer (0-relativ).


getColumnIdentifiers

public final java.util.Vector<java.lang.Object> getColumnIdentifiers()
Liefert einen Vector mit den Namen der Spalten.


getColumn

public final GuiTable.GuiTableColumn getColumn(java.lang.String columnName)
Liefert die TableColumn mit dem angegebenen Namen.

Parameters:
name -
Returns:

hasColumn

public boolean hasColumn(java.lang.String columnName)

getColumn

public final GuiTable.GuiTableColumn getColumn(int colIndex)
Liefert die TableColumn unter dem angegebenen Index (0-relativ).

Parameters:
colIndex -
Returns:

getColumnIndex

public int getColumnIndex(java.lang.String colName)
Liefert den Index der Spalte unter Angabe ihres Namens.

Parameters:
colName - Name der Spalte; siehe Attribut name=
Returns:
Den Index der Spalte im ColumnModel oder -1, wenn der Name der Spalte ungültig ist.

setColumnValue

public final void setColumnValue(java.lang.Object obj,
                                 int colIndex)
Deprecated. Setzt den Wert einer Spalte der selektierten Zeile neu.

See Also:
setCellValue(int, Object)

setColumnValue

public final void setColumnValue(java.lang.Object obj,
                                 java.lang.String colName)
Deprecated. Setzt den Wert einer Spalte der selektierten Zeile neu.

Parameters:
obj - Der zu setzende Wert
name - Name der Spalte
See Also:
setCellValue(String, Object)

setColumnValue

public final void setColumnValue(java.lang.Object obj,
                                 int colIndex,
                                 int rowIndex)
Deprecated. Setzt den Wert einer Spalte der angegebenen Zeile neu.

See Also:
setCellValue(int, int, Object)

setRowValues

public final void setRowValues(int row,
                               java.util.Vector values)
Deprecated. Setzt die Werte einer Tabellenzeile neu (Vector).
Die Spalten werden dabei von links nach rechts mit den Werten des übergebenen Vector aufgefüllt; dieser Vector darf auch kleiner oder länger als die Zahl der Spalten sein; überzählige Spalten werden abgeschnitten.

Throws:
java.lang.IllegalArgumentException - Wenn row negativ oder größer als die Zahl der Zeilen ist.

setColValues

public final void setColValues(int col,
                               java.util.Vector values)
Setzt den Inhalt einer Tabellenspalte neu.
Die Spalten werden von oben nach unten mit den Werten gefüllt. Der übergebene Vector darf auch kleiner oder größer als die Anzahl der Zeilen sein.

Hinweis:
Mit initRows kann eine Tabelle mit einer definierten Anzehl von leeren Zeilen initialisiert werden.

Throws:
java.lang.IllegalArgumentException - wenn col negativ oder größer als die Zahl der Spalten ist.

setColValues

public final void setColValues(int col,
                               java.lang.String[] values)
Setzt den Inhalt einer Tabellenspalte neu (StringArray).


getColValues

public final java.lang.String[] getColValues(int col)
Liefert den Inhalt einer Spalte als einen Array von Strings.


requestFocus

public void requestFocus()
Scrollt auch zu der selektierten Zeile

Overrides:
requestFocus in class GuiElement

setFocus

public final void setFocus(int row,
                           int col)
Setzt den Focus auf die angegebene Zelle.

Parameters:
row - zu selektierende Zeile
col - zu selektierende Spalte; wenn -1 dann nur die Zeile selektieren.

tableReady

public final void tableReady()
Teilt der Tabelle mit, daß die Initialisierung der Tabelle mit Spalten und Zeilen beendet ist.

Erst hier wird das TableModel und das ColumnsModel eingerichtet.

Außerdem wird ein MouseListener eingerichtet, der das Anklicken der Spaltenköpfe weiterleitet wenn dieses gewünscht ist.

See Also:
addColumn(de.guibuilder.framework.TableColumnAble, java.lang.String, int), addRow(GuiTableRow), setMsgColHeaderClick(String), GuiRootPane.obj_TblHeaderClick(GuiTable, String, int)

insertRow

public final GuiTableRow insertRow()
Fügt zur Laufzeit eine leere Zeile der Tabelle am Ende hinzu.

Returns:
Die neue Zeile
See Also:
addRow(de.guibuilder.framework.GuiTableRow)

insertRow

public final GuiTableRow insertRow(int row)
Fügt zur Laufzeit eine leere Zeile an der angegebenen Zeile in die Tabelle ein.

Parameters:
row - Zeilennummer 0-relativ.

insertRow

public final void insertRow(GuiTableRow tableRow)
Fügt zur Laufzeit eine Zeile der Tabelle am Ende hinzu.

Parameters:
row - Eine GuiTableRow
See Also:
addRow(de.guibuilder.framework.GuiTableRow)

insertRow

public final void insertRow(int row,
                            GuiTableRow tableRow)
Fügt zur Laufzeit eine Zeile in die Tabelle ein.

Parameters:
row - Index der Tabelle, an der die Zeile eingefügt werden soll.
tableRow -

duplicateRow

public void duplicateRow()
Dubliziert die selektierte Zeile

See Also:
getRow(), insertRow()

deleteRow

public final void deleteRow()
Löscht die selektierte Zeile aus der Tabelle. Tut nichts, wenn keine Zeile selektiert ist.

See Also:
pasteRow

deleteSelectedRows

public final int deleteSelectedRows()
Löscht alle selektierten Zeilen.

Returns:
Die Anzahl der gelöschten Zeilen oder 0, wenn nix selektiert war.

deleteRow

public final void deleteRow(int row)
Löscht die angegebene Zeile aus der Tabelle. Wirft eine Exception bei ungültiger Zeilennummer.

See Also:
pasteRow

copyRow

public final void copyRow()
Kopiert die selektierte Zeile in eine interne Variable. Tut nichts, wenn keine Zeile selektiert ist.

See Also:
pasteRow

pasteRow

public final void pasteRow()
Fügt die gelöschte oder kopierte Zeile ein wenn sich nicht null ist.
Wenn keine Zeile selektiert ist, wird sie am Ende der Tabelle angefügt.


setValue

public final void setValue(java.lang.Object val)
Ersetzt den Inhalt der Tabelle durch einen neuen Vector von Vectoren. Jeder innere Vector entspricht eine Zeile in der Tabelle.
Der Zeilen-Vector muß Strings enthalten bis auf die Checkboxen, die ein Boolean erwarten.
Wird hier null übergeben, wird der Inhalt der Tabelle gelöscht.

Overrides:
setValue in class GuiComponent
See Also:
GuiComponent.setModified(boolean), GuiComponent.isModified()

setValueAt

public final void setValueAt(java.lang.Object val,
                             int row,
                             int col)
Setzt den Wert einer Zelle neu

Parameters:
val - String, Boolean
row - Zeilennummer 0-relativ
col - Spaltennummer 0-relativ

setItems

public final void setItems(int colIndex,
                           java.util.Vector items)
Füllt die Combobox der angegebenen Spalte mit neuen Werten. Wirft eine IllegalArgumentException, wenn die Spalte keine ComboBox hält.

Parameters:
colIndex - Spalte der Tabelle (0-relativ)
items - Vector von String

setItems

public final void setItems(int colIndex,
                           java.lang.String[] items)
Füllt die Combobox der angegebenen Spalte mit neuen Werten. Wirft eine IllegalArgumentException, wenn die Spalte keine ComboBox hält.

Parameters:
colIndex - Spalte der Tabelle (0-relativ)
items - Array von Strings

setItems

public final void setItems(java.lang.String colName,
                           JDataSet ds)
Füllt eine ComboBox-Spalte mit den angegebenen Werten.

Parameters:
colName -
ds -
See Also:
GuiCombo.setItems(java.util.Vector)

setItems

public final void setItems(java.lang.String colName,
                           java.util.ArrayList al)

reset

public final void reset()
Leert die Tabelle

Specified by:
reset in class GuiMember

getUnformatedValue

public java.lang.Object getUnformatedValue()
Description copied from class: GuiComponent
Liefert den unformatierten Inhalt dieser Componente.

Specified by:
getUnformatedValue in class GuiComponent

getValue

public final java.lang.Object getValue()
Liefert den Inhalt der Tabelle als einen Vector von Vectoren.
Es wird ein Clone dieses Vectors zurückgegeben.

Specified by:
getValue in class GuiComponent

getGuiTableModel

public final GuiTable.GuiTableModel getGuiTableModel()
Liefert das TableModel.

Im Unterschied zu getModel wird hier auf GuiTableModel ge-cast-ed.


getDeletedRows

public final java.util.Vector<GuiTableRow> getDeletedRows()
Liefert die seit dem letzten reset gelöschten Zeilen.
Seit dem letzten reset neu eingefügte und wieder gelöschte Zeilen werden hier nicht aufgeführt.


getAllValues

public final java.util.Vector getAllValues(boolean modified)

getAllValuesXml

public final electric.xml.Document getAllValuesXml()
Liefert den Inhalt der Tabelle als XML-Document.


setAllValuesXml

public final void setAllValuesXml(electric.xml.Element node)
Füllt die Tabelle mit Werten aus einem XML-Document. Der Knoten "Table" muß "Row" und "Row" muß "Component" enthalten.

Throws:
java.lang.IllegalArgumentException - wenn NodeName != "Table"

getCurrentRowPath

public java.lang.String getCurrentRowPath(java.lang.String current)

setDatasetValues

public final void setDatasetValues(JDataSet ds)
Setzt den Inhalt der Komponente auf den Inhalt des Models der über getElementPath erreichbar ist. Wird von GuiTable und GuiTree überschrieben. Voraussetzung ist, daß ein Attribut "element" spezifiziert ist.
Sets the content of the component to the content of the JDataset. The elements must be reachable through getElementPath() method and must be declared by an element attribute which identifies the maping from the dataset into the GuiTable.

Specified by:
setDatasetValues in interface IDatasetComponent
Overrides:
setDatasetValues in class GuiComponent
Parameters:
ds - Dataset mit den Werten, die gesetzt werden sollen.

getDatasetValues

public void getDatasetValues(JDataSet ds)
Überträgt den Inhalt der Tabelle in den angegebenen Dataset.

Vorsicht!
Hierbei werden neu in die Tabelle eingefügte Zeilen dem Dataset hinzugefügt; dieser Vorgang ist nicht wiederholbar!

Specified by:
getDatasetValues in interface IDatasetComponent
Overrides:
getDatasetValues in class GuiComponent

commitChanges

public final void commitChanges()
Description copied from class: GuiComponent
Teilt der Komponente mit, daß die Benutzereingaben erfolgreich verarbeitet wurden. Zumeist wird die Eigenschaft "modified" nur auf "false" gesetzt.

Specified by:
commitChanges in interface IDatasetComponent
Overrides:
commitChanges in class GuiComponent

getSearchables

public final java.util.Vector getSearchables(java.util.Vector ret)
Deprecated. 

Liefert die Liste der ausgefüllten Suchfelder. Funktioniert nur, wenn die Tabelle genau eine Zeile hat. TODO : funktioniert leider garnicht!


getCellValue

public final java.lang.String getCellValue(int row,
                                           int col)
Liefert den Inhalt einer Zelle


getCellValue

public final java.lang.String getCellValue(int row,
                                           java.lang.String columnName)
Liefert den Inhalt der Zelle der angegebenen Zeile der angegebenen Spalte.

Parameters:
row - 0-relativ
columnName - Name der Spalte
Returns:

setCellValue

public final void setCellValue(int row,
                               java.lang.String columnName,
                               java.lang.Object value)

setCellValue

public final void setCellValue(java.lang.String columnName,
                               java.lang.Object value)
Setzt den Wert der angegeben Spalte der selektierten Zeile.

Parameters:
columnName -
value -

setCellValue

public final void setCellValue(int row,
                               int column,
                               java.lang.Object value)

setCellValue

public final void setCellValue(int column,
                               java.lang.Object value)

getCellValue

public final java.lang.String getCellValue(int col)
Liefert den Inhalt der angegebenen Spalte aus der selektierten Zeile


getCellValue

public final java.lang.String getCellValue(java.lang.String columnName)
Liefert den Inhalt der Spalte mit dem angegebenen Spaltenname der selektierten Zeile.

Parameters:
columnName -
Returns:
See Also:
getSelectedRow(), getRow(int), GuiTableRow.getValue(String)

getRowValues

public final java.util.Vector getRowValues()
Liefert den Inhalt der selektierten Zeile


getTableRows

public final java.util.Vector getTableRows()
Liefert der Inhalt der Tabelle als Vector von TableRows

See Also:
GuiTableRow

getRowValues

public final java.util.Vector getRowValues(int index)
Deprecated. Liefert den Inhalt der angegebenen Tabellenzeile als Vector. Wirft eine Exception, wenn rowNumber außerhalb des gültigen Bereichs ist.

Parameters:
rowNumber - Die Zeilennummer beginnend mit 0.

setRowEditor

public final void setRowEditor(java.lang.String name)
Es wird ein Spezifikations-Script gesetzt, welcher beim Doppelklick auf die Tabelle aufgerufen wird.


click

public final void click(java.awt.event.MouseEvent e)
Wenn die Tabelle angeklickt wird, wird CurrentTable bei Rootpane gesetzt

Overrides:
click in class GuiMember
See Also:
GuiRootPane.setCurrentTable(GuiTable)

d_click

public final void d_click(java.awt.event.MouseEvent e)
Tabelle wird doppelt geklickt. Ein ggf. registrierter Editor für die Tabellenzeile wird gestartet.

Overrides:
d_click in class GuiMember
See Also:
GuiMouseListener, GuiRootPane.obj_DblClick(GuiComponent, String, Object, MouseEvent)

getSelectedRow

public final int getSelectedRow()
Liefert die Nummer der selektierte Zeile (0-relativ) oder -1 wenn Tabelle leer.

Returns:
selectedRowNumber

getSelectedRows

public final int[] getSelectedRows()
Liefert ein Array, in welchem die Zeilennummern der selektierten Rows enthalten sind.

Returns:

getSelectedColumn

public final int getSelectedColumn()

setSelectedRow

public final void setSelectedRow(int index)
Setzt die selektierte Zeile der Tabelle neu. -1 = clearSelection

Parameters:
index -

clearSelection

public void clearSelection()
ggf. selektierte Zeilen werden deselektiert.


setSelectedRows

public final void setSelectedRows(int fromIndex,
                                  int toIndex)
Markiert ein Interval von Zeilen.

Nicht erlaubte Parameter werden stillschweigend angepaßt.

Parameters:
fromIndex -
toIndex -

findRow

public int findRow(java.lang.String columnName,
                   java.lang.Object columnValue)
Sucht die (erste) Zeile mit dem angegebenen Wert in der angegebenen Spalte.

Parameters:
columnName -
columnValue -
Returns:
-1 wenn nix gefunden

stopCellEditing

public final void stopCellEditing()
Da JTable (seit Jahren!) massive Focus-Probleme hat, wird diese Methode benötigt.

See Also:
GuiElement.lostFocus(FocusEvent)

sortRows

public void sortRows(int colIndex,
                     boolean ascending)
Sortiert die Tabelle nach dem Inhalt der angegebenen Spalte.

Parameters:
colIndex - Das Sortierkriterium
ascending - false = descending

isAutoSize

public boolean isAutoSize()
Liefert das Kennzeichen, ob die Spaltenbreite automatisch errechnet wird.

Returns:

getPreferences

public void getPreferences(JDataSet ds)
Description copied from class: GuiMember
Hier leer implementiert

Overrides:
getPreferences in class GuiMember

setPreferences

public void setPreferences(JDataSet ds)
Description copied from class: GuiMember
Hier leer implementiert

Overrides:
setPreferences in class GuiMember

showPopupMenu

public void showPopupMenu(int modi,
                          int x,
                          int y)
Description copied from class: GuiMember
Zeigt ein Kontextmenü an Abhängigkeit eines Modifiers; muß jeweils überschrieben werden.

Overrides:
showPopupMenu in class GuiMember
Parameters:
modi - InputEvent.CTRL_DOWN_MASK usw.