Java Reference
In-Depth Information
new DefaultTableModel(new String[][] { },
new String[]
{ "Stunde", "Montag", "Dienstag","Mittwoch","Donnerstag","Freitag" });
Der Programm-Frame erhält zwei Buttons. Mit dem ersten Button
jBtnNeueZeile
wird
eine zusätzliche Datenzeile für die Tabelle erstellt. Der zweite Button
jBtnSamstag
kann
verwendet werden, wenn eine zusätzliche Datenspalte für den Samstag benötigt wird.
private void jBtnNeueZeileActionPerformed(ActionEvent evt) {
int neuezeilenzahl = jTable1.getModel().getRowCount()+1;
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
model.addRow(new String[]{String.valueOf(neuezeilenzahl)});
}
Listing 15.4
Methode zum Hinzufügen einer Datenzeile
Die Methode zum Hinzufügen einer weiteren Zeile bedarf einiger Erläuterungen. Das
DefaultTableModel
, das von Jigloo standardmäßig beim Erstellen einer Tabelle verwen-
det wird, ist sehr gut ausgestattet und deshalb sehr universell einsetzbar. Es bringt so
auch Methoden wie
addRow
und
addColumn
mit. Wenn Sie versuchen, die Methode mit
jTable1.getModel().addRow
aufzurufen, erhalten Sie von Eclipse den Hinweis, dass die
Klasse
TableModel
keine Methode
addRow
besitzt. Die Methode
getModel
liefert grund-
sätzlich ein Objekt der allgemeinen Klasse
TableModel
zurück. Wenn Sie zuvor der
Tabelle ein davon abgeleitetes Objekt wie
DefaultTableModel
zuweisen, müssen Sie
einen TypeCast verwenden, der aus dem zurückgelieferten Objekt
TableModel
ein
DefaultTableModel
macht.
15
In
Listing 15.4
wird mit dem TypeCast eine neue lokale Variable
model
erstellt. Deren
Methode
addRow
kann dann aufgerufen werden. Die auskommentierte Anweisung zeigt,
wie Sie alternativ die beiden Anweisungen zu einer einzigen Anweisung zusammenfas-
sen können. Als Tabelleneinträge der neuen Zeile wird der
addRow
-Methode ein neu
erzeugtes String-Array übergeben. Das Array besitzt nur ein Element mit der Stunden-
nummer in der ersten Spalte.
private void jBtnSamstagActionPerformed(ActionEvent evt) {
((DefaultTableModel) jTable1.getModel()).addColumn(new String("Samstag"));
jBtnSamstag.setEnabled(false);
}
Listing 15.5
Methode zum Ergänzen der Spalte für Samstag