Hallo zusammen,
jetzt dachte ich, dass ich fast fertig bin und dann hängt es am JTable.
Folgendes Problem: Man wählt aus einem Menü den Punkt Übersicht und soll als Ergebnis ein zwei Dimensionales Array angezeigt bekommen. Dies verwalte ich in einem Vector bestehend aus String[].
Nach Klick auf das MenuItem geschieht folgendes:
Hierbei wurde
als Attribut der Klasse des Hauptfensters angelegt. Nich wirklich elegant, aber es war am schnellsten:
Wenn ich jetzt mehrere Kunden anlegen und mir die Übersicht anzeigen lasse, klappt das auch wunderbar. Wenn ich dann das Fenster schließe, ein paar Kunden mehr anlegen und mir wieder die Übersicht anzeigen lassen, sehe ich nur die alten Einträge. Dabei durchlaufe ich wieder den Code
Es scheint, dass die Daten nicht neu eingelesen werden. Was mache ich falsch?
In der Metjode getAllData2DString() lasse ich mir auch alles als System.out.println() ausgeben und die Daten sind da. Werden aber nicht angezeigt.
Eigentlich hätte ich viel lieber das Übersichtsfenster mit einer leeren Tabelle erzeugt und dann nachträglich die Daten eingefügt, aber das habe ich überhaupt nicht hinbekommen. Wie ginge das denn?
ingobar
jetzt dachte ich, dass ich fast fertig bin und dann hängt es am JTable.
Folgendes Problem: Man wählt aus einem Menü den Punkt Übersicht und soll als Ergebnis ein zwei Dimensionales Array angezeigt bekommen. Dies verwalte ich in einem Vector bestehend aus String[].
Nach Klick auf das MenuItem geschieht folgendes:
Code:
String[][] rowData = curDataDB.getAllData2DString();
Kunde curKunde = new Kunde();
String[] columnNames = curKunde.getAllAttributeNamesAsArray();
JTable table = new JTable( rowData, columnNames );
myUbersichtFenster.add( new JScrollPane( table ) );
myUbersichtFenster.pack();
myUbersichtFenster.setVisible( true );
Hierbei wurde
Code:
JFrame myUbersichtFenster = new JFrame();
als Attribut der Klasse des Hauptfensters angelegt. Nich wirklich elegant, aber es war am schnellsten:
Code:
public class KundenManager extends javax.swing.JFrame {
//Datenbank für die Kunden
private DBWrapper curDataDB = new DBWrapper();
//Übersichtsfenster
JFrame myUbersichtFenster = new JFrame();
Wenn ich jetzt mehrere Kunden anlegen und mir die Übersicht anzeigen lasse, klappt das auch wunderbar. Wenn ich dann das Fenster schließe, ein paar Kunden mehr anlegen und mir wieder die Übersicht anzeigen lassen, sehe ich nur die alten Einträge. Dabei durchlaufe ich wieder den Code
Code:
private void uebersichtActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Übersichtsfenster erzeugen
String[][] rowData = curDataDB.getAllData2DString();
Kunde curKunde = new Kunde();
String[] columnNames = curKunde.getAllAttributeNamesAsArray();
JTable table = new JTable( rowData, columnNames );
myUbersichtFenster.add( new JScrollPane( table ) );
myUbersichtFenster.pack();
myUbersichtFenster.setVisible( true );
}
Es scheint, dass die Daten nicht neu eingelesen werden. Was mache ich falsch?
In der Metjode getAllData2DString() lasse ich mir auch alles als System.out.println() ausgeben und die Daten sind da. Werden aber nicht angezeigt.
Eigentlich hätte ich viel lieber das Übersichtsfenster mit einer leeren Tabelle erzeugt und dann nachträglich die Daten eingefügt, aber das habe ich überhaupt nicht hinbekommen. Wie ginge das denn?
ingobar