|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jsystems.framework.common.BusinessModel
de.jsystems.framework.table.BusinessTableModel
Model fuer die BusinessTable
. In diesem
Model werden die Daten fuer die Tabelle als TableItem
-Objekte
verwaltet. Die Standardschnittstelle fuer Tabellenmodelle (TableModel
)
wird von dieser Implementierung unterstuetzt. Damit kann das Model auch an
einer ganz normalen JTable
benutzt werden.
Zusaetzlich wird auch die Schnittstelle BusinessModel
unterstuetzt, womit die Klasse auch die Erzeugung der verwalteten Items
uebernehmen kann.
Field Summary | |
protected EventListenerList |
listenerList
Liste für registrierte Listener |
Fields inherited from class de.jsystems.framework.common.BusinessModel |
DIALOG_ABBRUCH, DIALOG_OK, file, filename, itemclass, itemList, OPEN_DIALOG, pathname, SAVE_DIALOG, saver |
Constructor Summary | |
BusinessTableModel(TableItem item)
Initialisiert das Model und legt das zu verwaltende Item fest. |
Method Summary | |
void |
addItem(Item item)
Diese Operation wird hier im Model nicht unterstuetzt. |
void |
addRow()
Fügt dem Model eine neue Zeile hinzu. |
void |
addRow(String itemId)
Fuegt dem Model eine neue Zeile hinzu. |
void |
addRow(String itemId,
String name)
Fuegt dem Model eine neue Zeile hinzu. |
void |
addRow(TableItem item)
Fügt dem Model das uebergebene Item als neue Zeile hinzu. |
void |
addTableModelListener(TableModelListener listener)
Fügt einen Listener der Liste aller Listener hinzu die bei einer Änderung am Model benachrichtigt werden sollen. |
Item |
createNewItem()
Erzeugt ein neues Item von der Art, wie sie in diesem Model verwaltet werden. |
int |
findColumn(String columnName)
Sucht eine Spalte anhand des Namens und gibt den Index zurück, an dem sie sich befindet. |
void |
fireTableCellUpdated(int row,
int column)
Benachrichtigt alle registrierten Listener das sich der Wert der Zelle [row, column] ge�ndert hat. |
void |
fireTableChanged(TableModelEvent event)
Benachrichtig alle registrierten Listener über das auftreten des übergebenen Events. |
void |
fireTableDataChanged()
Benachrichtig alle registrierten Listener das sich alle Wert der Tabelle geändert haben. |
void |
fireTableRowsDeleted(int firstRow,
int lastRow)
Benachrichtig alle registrierten Listener das im Bereich [firstRow, lastRow]
Zeilen gelöscht wurden.
|
void |
fireTableRowsInserted(int firstRow,
int lastRow)
Benachrichtig alle registrierten Listener das im Bereich [firstRow, lastRow]
neue Zeilen hinzugefügt wurden.
|
void |
fireTableRowsUpdated(int firstRow,
int lastRow)
Benachrichtig alle registrierten Listener das im Bereich [firstRow, lastRow]
Zeilen geändert wurden.
|
void |
fireTableStructureChanged()
Benachrichtig alle registrierten Listener das sich die Struktur der Tabelle geändert hat. |
Class |
getColumnClass(int columnIndex)
Gibt den Typ der Daten fuer die Spalte am uebergebenen Index zurueck. |
int |
getColumnCount()
Gibt die Anzahl Spalten im Model zurück. |
String |
getColumnName(int column)
Gibt den Namen einer Spalte zur�ück. |
EventListener[] |
getListeners(Class listenerTyp)
Gibt ein Array mit allen Listenern des spezifizierten Typs zurück die bei diesem Model registriert sind. |
int |
getRowCount()
Gibt die Anzahl Zeilen im Model zurück. |
protected String |
getTechnicalColumnName(int column)
Gibt den technischen Namen der uebergebenen Spalte zurueck. |
Object |
getValueAt(int row,
int column)
Gibt den Wert der spezifizierten Zelle zurück. |
boolean |
isCellEditable(int row,
int column)
Legt fest, ob eine Zelle Editierbar ist. |
void |
load()
Laedt den Inhalt fuer das Model. |
void |
removeRow(int row)
Löscht die Zeile am spezifizierten Indx aus der Tabelle. |
void |
removeTableModelListener(TableModelListener listener)
Entfernt einen registrierten Listener aus der Liste der zu benachrichtigenden Listener. |
void |
save()
Speichert den Inhalt des Models in einer bestehenden Datei oder in einer Datenbank. |
void |
setValueAt(Object value,
int row,
int column)
Setzt den Wert für eine Zelle. |
void |
updateItem(Item item)
Diese Operation wird hier im Model nicht unterstuetzt. |
Methods inherited from class de.jsystems.framework.common.BusinessModel |
createNewItem, createNewItem, getItem, getItemComboBox, getItemCount, getItemListBox, getSaveItem, getSaveItemCount, loadItem, preLoad, removeAllItems, removeItem, save_as, setSaver, showFileDialogBox |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected EventListenerList listenerList
Constructor Detail |
public BusinessTableModel(TableItem item)
TableItem
übergeben wurde. Im Item brauchen keine Werte enthalten sein, da dieses
Item nicht zur Datenhaltung verwendet wird. Es wird auch im Model nicht
gespeichert. Es gibt also keinerlei Zugriffsmöglichkeit auf das Item.
Das Item wird in einigen Methoden benutzt, um z.B. den Namen einer Spalte
zu ermitteln oder den Klassentyp einer Spalte. Falls das Item unsichtbare
Attribute enthaelt, so werden sie in der Tabelle beruecksichtigt.
item
- Ein Item von der Art wie sie in diesem Model verwaltet werden.Method Detail |
public Item createNewItem() throws ItemInstantiateException
addRow(TableItem)
aufgerufen werden. Hier wird dann die Tabelle benachrichtigt, dass sich das
Model geaendert hat.
createNewItem
in class BusinessModel
TableItem
.
ItemInstantiateException
- wenn beim erzeugen des Items ein Fehler aufgetreten ist.public void addRow() throws ItemInstantiateException
null
.
Die registrierten Listener werden benachrichtigt.
ItemInstantiateException
- wenn beim erzeugen des Items ein Fehler aufgetreten ist.public void addRow(String itemId) throws ItemInstantiateException
itemId
- Eine eindeutige Id fuer das Item.
ItemInstantiateException
- wenn beim erzeugen des Items ein Fehler aufgetreten ist.public void addRow(String itemId, String name) throws ItemInstantiateException
itemId
- Eine eindeutige Id fuer das Item.name
- Der Name fuer das Item.
ItemInstantiateException
- wenn beim erzeugen des Items ein Fehler aufgetreten ist.public void addRow(TableItem item)
IllegalArgumentException
ausgeloest.
item
- Das dem Model hinzuzufuegende Item.public void removeRow(int row)
ArrayIndexOutOfBoundsException
ausgelöst.
row
- Der Index der zu loeschenden Zeile.public void save() throws Exception
save
in class BusinessModel
Exception
- wenn beim Speichern ein Fehler auftritt.Saver
,
BusinessModel.setSaver(Saver)
public void load() throws Exception
load
in class BusinessModel
Exception
- wenn ein Fehler beim Speichern Auftritt.Saver
,
BusinessModel.setSaver(Saver)
public String getColumnName(int column)
getColumnName
in interface TableModel
column
- Der Index der Spalte dessen Name ausgelesen werden soll.
TableItem.getDisplayColumnName(int)
protected String getTechnicalColumnName(int column)
column
- Der Index der Spalte dessen Name ausgelesen werden soll.
TableItem.getTechnicalColumnName(int)
public int findColumn(String columnName)
columnName
- Der Name der Spalte deren Index gesucht wird.
TableItem.findColumn(String)
public Class getColumnClass(int columnIndex)
getColumnClass
in interface TableModel
columnIndex
- Der Index der Spalte deren Spaltentyp zurueckgegeben
werden soll.
TableItem.getColumnClass(int)
public boolean isCellEditable(int row, int column)
false
zurückgegeben. Ob eine Zelle dann wirklich nicht
editiert werden kann ist dann abhängig von den Eigenschaften des
entsprechendenen Attributes im TableItem.
isCellEditable
in interface TableModel
row
- Die Zeile in der sich die Zelle befindet.column
- Die Spalte in der sich die Zelle befindet.
false
.Item.registerAttribute(String, BitSet)
public void setValueAt(Object value, int row, int column)
TableValueException
ausgeloest.
setValueAt
in interface TableModel
value
- Der neue Wert für die Zellerow
- Die Zeile in der sich die Zelle befindet.column
- Die Spalte in der sich die Zelle befindet.public Object getValueAt(int row, int column)
TableValueException
ausgeloest.
getValueAt
in interface TableModel
row
- Die Zeile der spezifizierten Zelle.column
- Die Spalte der spezifizierten Zelle.
public int getRowCount()
getRowCount
in interface TableModel
public int getColumnCount()
getColumnCount
in interface TableModel
public void addTableModelListener(TableModelListener listener)
addTableModelListener
in interface TableModel
listener
- Ein TableModelListener der ueber Aenderungen am Model
informiert werden moechte.public void removeTableModelListener(TableModelListener listener)
removeTableModelListener
in interface TableModel
listener
- Der aus der Liste der TableModelListener zu
entfernende TableModelListenerpublic void fireTableDataChanged()
JTable
wird sich komplett neu zeichnen. Die
Struktur der Tabelle(Reihenfolge der Spalten) bleibt dabei erhalten.
TableModelEvent
,
EventListenerList
public void fireTableStructureChanged()
JTable
dieses Event erhält und das Flag
JTable.autoCreateColumnsFromModel
ist gesetzt,
werden alle Spalten aus der Tabelle entfernt und neu aus dem Model
geholt. Das geschieht in der Reihenfolge in der die Spalten im Model
vorhanden sind. Das ist das gleiche Verhalten als würde die Methode
JTable.setModel(javax.swing.table.TableModel)
an der JTable
aufgerufen.
TableModelEvent
,
EventListenerList
public void fireTableRowsInserted(int firstRow, int lastRow)
[firstRow, lastRow]
neue Zeilen hinzugefügt wurden.
Der angegebene Bereich ist inklusiv.
firstRow
- Index der ersten hinzugefügten Zeile.lastRow
- Index der letzten hinzugefügten Zeile.TableModelEvent
,
EventListenerList
public void fireTableRowsUpdated(int firstRow, int lastRow)
[firstRow, lastRow]
Zeilen geändert wurden.
Der angegebene Bereich ist inklusiv.
firstRow
- Index der ersten geänderten Zeile.lastRow
- Index der letzten geänderten Zeile.TableModelEvent
,
EventListenerList
public void fireTableRowsDeleted(int firstRow, int lastRow)
[firstRow, lastRow]
Zeilen gelöscht wurden.
Der angegebene Bereich ist inklusiv.
firstRow
- Index der ersten gelöschten Zeile.lastRow
- Index der letzten gelöschten Zeile.TableModelEvent
,
EventListenerList
public void fireTableCellUpdated(int row, int column)
[row, column]
ge�ndert hat.
row
- Die Zeile in der sich die geänderte Zelle befindet.column
- Die Spalte in der sich die geänderte Zelle befindet.TableModelEvent
,
EventListenerList
public void fireTableChanged(TableModelEvent event)
event
- Das ausgelöste Event das abgeschickt werden soll.addTableModelListener(TableModelListener)
,
TableModelEvent
,
EventListenerList
public EventListener[] getListeners(Class listenerTyp)
listenerTyp
- Der Typ des Listeners
listenerTyp
public void addItem(Item item)
addRow()
addRow(String)
addRow(String, String)
addRow(TableItem)
UnsupportedOperationException
ausgeloest.
addItem
in class BusinessModel
item
- Das dem Model hinzuzufuegende Item.public void updateItem(Item item)
BusinessModel.getItem(int)
ausgelesen
und dann die gewuenschten Attribute geaendert.
Bei Aufruf dieser Methode wird eine
UnsupportedOperationException
ausgeloest.
updateItem
in class BusinessModel
item
- Das Item, das im Model geaendert werden soll.Item.getItemID()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |