Hallo alle miteinander
ich versuche mich gerade daran, eine JTable mit Datensätzen zu befüllen.
Da die Tabelle editierbar sein soll, verwende ich ein TableModel.
Aber nun zu meinem Problem:
Ich initialisiere in meiner Hptklasse die JTable und weise ihr das TableModel zu.
In der Klasse des Models habe ich zudem eine Methode, die den Inhalt der Datenbank
in einer ArrayList speichert.
In einer for-Schleife soll die Tabelle dann mit den Datensätzen befüllt werden...
...leider hackt es genau an dieser Stelle...
mein Code schaut bisher so aus:
Mein Problem ist:
wenn ich in meiner HptKlasse das TableModel zuweise, wird nicht automatisch die Methode dbInhalt() aufgerufen, wie schaff ich es, dass die Methode ausgeführt wird, wenn die Tabelle erzeugt wird?
Gibt es denn nicht eine andere Möglichkeit, den Inhalt aus der DB zuzuweisen?
Danke für eure Geduld :roll:
Liebe Grüße,
Marie
ich versuche mich gerade daran, eine JTable mit Datensätzen zu befüllen.
Da die Tabelle editierbar sein soll, verwende ich ein TableModel.
Aber nun zu meinem Problem:
Ich initialisiere in meiner Hptklasse die JTable und weise ihr das TableModel zu.
In der Klasse des Models habe ich zudem eine Methode, die den Inhalt der Datenbank
in einer ArrayList speichert.
In einer for-Schleife soll die Tabelle dann mit den Datensätzen befüllt werden...
...leider hackt es genau an dieser Stelle...
mein Code schaut bisher so aus:
Code:
String[] bezeichnung = {
"Nr",
"Modul",
"Benutzername",
"Passwort",
"Betriebssystem",
"Installationsdatum"
};
Object[][] data = { {} };
public int getColumnCount() {
return bezeichnung.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return bezeichnung[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public void dbInhalt(){
ArrayList<Object> datensaetze = new ArrayList<Object>();
try {
detailZugriff = new DBZugriffCADDetails();
datensaetze = detailZugriff.detailLesen("SELECT * FROM CADDetails");
} catch (SQLException e) {
e.printStackTrace();
}
for(int i = 0; i <= datensaetze.size() - 1; i++){
Object einDatensatz = datensaetze.get(i);
String id = ((DBDatensatz) einDatensatz).getIDDetails();
String modul = ((DBDatensatz) einDatensatz).getdetailModul();
String Nr = ((DBDatensatz) einDatensatz).getdetailNr();
String benutzername = ((DBDatensatz) einDatensatz).getdetailBenutzername();
String passwort = ((DBDatensatz) einDatensatz).getdetailPasswort();
String betriebssystem = ((DBDatensatz) einDatensatz).getdetailBetriebssystem();
String datum = ((DBDatensatz) einDatensatz).getdetailDatum();
Object[][] data = {
{modul, Nr, benutzer, passwort, betriebssystem, datum}
};
}
}
Mein Problem ist:
wenn ich in meiner HptKlasse das TableModel zuweise, wird nicht automatisch die Methode dbInhalt() aufgerufen, wie schaff ich es, dass die Methode ausgeführt wird, wenn die Tabelle erzeugt wird?
Gibt es denn nicht eine andere Möglichkeit, den Inhalt aus der DB zuzuweisen?
Danke für eure Geduld :roll:
Liebe Grüße,
Marie