Guten Tag,
hier mein Problem:
Ich möchte innerhalb einer GUI, die eine Klasse zum Abrufen von Kundendaten aus einer SQL-Datenbank aufruft, eine jTable mit genau diesen Daten füllen.
Die Klasse KundenUebersicht ruft die Daten innerhalb einer while-Schleife ab. Bisher ist es so, dass diese Daten dann in einem String gespeichert und dann über eine jTextArea ausgegeben werden. Dies ist aber etwas unschön.... darum muss eine Tabelle her.
Klasse KundenUebersicht:
Mit static String AusgabeKundUebers konnte man dann in der GUI eine jTextArea füllen.
Ich habe schon versucht ähnliches mit einem String-Array zu bewerkstelligen, aber dieses ist nach dem Aufruf der Klasse KundeUebersicht immer null!
Hier der Aufruf der jTable im Hauptprogramm:
Gibt es eine Möglichkeit innerhalb von KundenUebersicht ein String Array zu erzeugen, dieses an ein anderes Java-File zu übergeben und damit eine jtable zu füllen?
Danke im Voraus!
Gruß,
Dodo
hier mein Problem:
Ich möchte innerhalb einer GUI, die eine Klasse zum Abrufen von Kundendaten aus einer SQL-Datenbank aufruft, eine jTable mit genau diesen Daten füllen.
Die Klasse KundenUebersicht ruft die Daten innerhalb einer while-Schleife ab. Bisher ist es so, dass diese Daten dann in einem String gespeichert und dann über eine jTextArea ausgegeben werden. Dies ist aber etwas unschön.... darum muss eine Tabelle her.
Klasse KundenUebersicht:
Java:
package Bücherei;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class KundenUebersicht {
static String AusgabeKundUebers="";
public KundenUebersicht() {
try {
final String NEW_ROW = "\n";
//Anschluss zur Datenbank
Driver treiber = (Driver)Class.forName(""+SQLVerbindungErstellen.VarDRIVERNAME).newInstance();
DriverManager.registerDriver(treiber);
String url = ""+SQLVerbindungErstellen.VarURL+""+SQLVerbindungErstellen.VarBDNAME;
Connection conn = DriverManager.getConnection(url, ""+SQLVerbindungErstellen.VarUSERNAME, ""+SQLVerbindungErstellen.VarPASSWORT);
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT Kundennummer, Adresse, Passwort, Telefon, Vorname, Name, Geburtsdatum, EMail FROM kunden ORDER BY Name");
AusgabeKundUebers+=NEW_ROW+NEW_ROW+("KundenNr.\tName\t\tVorname\t\tEMail\t\t\tGeburtsdatum\t\tAdresse\t\t\tTelefon\t\tPasswort")+NEW_ROW;
AusgabeKundUebers+=(" -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------")+NEW_ROW;
while ( rs.next() ) {
String lastKundennummer = rs.getString("Kundennummer");
String lastName = rs.getString("Name");
String lastVorname = rs.getString("Vorname");
String lastEMail = rs.getString("EMail");
String lastAdresse = rs.getString("Adresse");
String lastPasswort = rs.getString("Passwort");
String lastTelefon = rs.getString("Telefon");
String lastGeburtsdatum = rs.getString("Geburtsdatum");
AusgabeKundUebers+=("" + lastKundennummer + "\t" + lastName +"\t\t" + lastVorname.substring(0,30) + "\t\t"+lastEMail.substring(0,30) +"\t\t" +lastGeburtsdatum+"\t\t" + lastAdresse.substring(0,30) + "\t" + lastTelefon.substring(0,30) + "\t\t" + lastPasswort )+NEW_ROW;
AusgabeKundUebers+=(" -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------")+NEW_ROW;
}
conn.close();
} catch (Exception e) {
System.err.println("Es gab einen Systemfehler! ");
System.err.println(e.getMessage());
}
}
}
Mit static String AusgabeKundUebers konnte man dann in der GUI eine jTextArea füllen.
Ich habe schon versucht ähnliches mit einem String-Array zu bewerkstelligen, aber dieses ist nach dem Aufruf der Klasse KundeUebersicht immer null!
Hier der Aufruf der jTable im Hauptprogramm:
Java:
private JTable getJTableKundenÜbersicht() {
if(jTableKundenÜbersicht == null) {
TableModel jTableKundenÜbersichtModel =
new DefaultTableModel(
new String[][]{{"One","two"},{"three","four"}} ,
new String[] { "Column 1", "Column 2"});
jTableKundenÜbersicht = new JTable();
jTableKundenÜbersicht.setModel(jTableKundenÜbersichtModel);
jTableKundenÜbersicht.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
}
return jTableKundenÜbersicht;
}
Gibt es eine Möglichkeit innerhalb von KundenUebersicht ein String Array zu erzeugen, dieses an ein anderes Java-File zu übergeben und damit eine jtable zu füllen?
Danke im Voraus!
Gruß,
Dodo