Ich versuche nun seit geraumer Zeit mit Java eine kleine Applikation zu schreiben, welche Daten aus einer MySQL-Tabelle ausliest und in einer JTable darstellt. Zusätzlich soll man noch die Möglichkeit haben, Datensätze zu löschen und neue hinzuzufügen.
Mit Hilfe dieses Forums und google habe ich das Programm nun auch so weit, dass alles bis auf das hinzufügen von Zeilen mit anschließender Aktualisierung der Tabelle funktioniert.
Meine Frage ist nun, wie ich die Funktion setValueAt gestalten muss, damit der Tabelle erfolgreich Zeilen hinzugefügt werden können. Beispiele die ich zu diesem Thema gefunden hatte, beinhalteten meist ein Object[][] in der setValueAt Funktion. Da ich in Sachen Java noch kaum Erfahrung habe, konnte ich mir diese Beispiele leider nicht erfolgreich auf einen Vector umstricken.
Ein ähnliches Problem ergab sich auch schon bei der getValueAt Funktion, zu diesem konnte ich allerdings eine Lösung finden.
Ich würde mich sehr freuen, wenn mir jemand mit meinem Problem helfen könnte.
Im Anhang mein Quelltext der AbstractTableModel Klasse.
Mit Hilfe dieses Forums und google habe ich das Programm nun auch so weit, dass alles bis auf das hinzufügen von Zeilen mit anschließender Aktualisierung der Tabelle funktioniert.
Meine Frage ist nun, wie ich die Funktion setValueAt gestalten muss, damit der Tabelle erfolgreich Zeilen hinzugefügt werden können. Beispiele die ich zu diesem Thema gefunden hatte, beinhalteten meist ein Object[][] in der setValueAt Funktion. Da ich in Sachen Java noch kaum Erfahrung habe, konnte ich mir diese Beispiele leider nicht erfolgreich auf einen Vector umstricken.
Ein ähnliches Problem ergab sich auch schon bei der getValueAt Funktion, zu diesem konnte ich allerdings eine Lösung finden.
Ich würde mich sehr freuen, wenn mir jemand mit meinem Problem helfen könnte.
Im Anhang mein Quelltext der AbstractTableModel Klasse.
Code:
class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"Name", "Beschreibung", "Version", "ID"};
private Vector data = dbConnection.getTableData();
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.size();
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
Vector colVector = (Vector) data.elementAt(row);
return colVector.elementAt(col);
}
public boolean isCellEditable(int row, int col) {
return false;
}
public void removeRow(int row) {
data.removeElementAt(row);
fireTableRowsDeleted(row, row);
}
}