Hallo,
ich stehe mit meinem Problem ein bisschen auf dem Schlauch und hoffe, dass ihr mir vielleicht helfen könnt. Ich möchte gerne Daten aus der Datenbank in einem ListView anzeigen lassen.
Ich habe eine Klasse für meine MySQL Verbindung und eine Klasse für mein MainWindow(hier ist das ListView).
Aus meiner Datenbank hole ich nun per Button Click mehrere Gruppennamen und Gruppenid's. Jetzt weiss ich aber nicht genau, wie ich die Daten von meiner Sql Klasse in meine MainWindow Klasse bekomme. Wenn ich eine Instanz von meinem MainWindow in der Sql Klasse mache, bekomme ich eine NullPointException, da das ListView nicht existiert. Habe es dann über das Singleton Pattern versucht, was auch nicht funktioniert hat. Habe es daraufhin gleich wieder verworfen, weil ich sowieso nicht genau weiss, ob das eine gute Lösung gewesen wäre.
Habe es dann mit gettern in der Sql Klasse versucht. Das funktioniert auch soweit. Habe also eine ArrayListe erstellt und mir so die Gruppennamen zurückgegeben. Nur fehlen mir jetzt noch die Gruppenid's, wofür ich dann ja eine zweite Liste bräuchte, oder? Wenn ja, wie durchlaufe ich beide gleichzeitig und packe die passende Nummer mit dem passenden Namen in mein ListView?
Oder gibt es eine ganz andere, bessere Lösung?
Hier noch ein bisschen Code:
SqlConnection.class
MainWindowController.class
Grüße
ich stehe mit meinem Problem ein bisschen auf dem Schlauch und hoffe, dass ihr mir vielleicht helfen könnt. Ich möchte gerne Daten aus der Datenbank in einem ListView anzeigen lassen.
Ich habe eine Klasse für meine MySQL Verbindung und eine Klasse für mein MainWindow(hier ist das ListView).
Aus meiner Datenbank hole ich nun per Button Click mehrere Gruppennamen und Gruppenid's. Jetzt weiss ich aber nicht genau, wie ich die Daten von meiner Sql Klasse in meine MainWindow Klasse bekomme. Wenn ich eine Instanz von meinem MainWindow in der Sql Klasse mache, bekomme ich eine NullPointException, da das ListView nicht existiert. Habe es dann über das Singleton Pattern versucht, was auch nicht funktioniert hat. Habe es daraufhin gleich wieder verworfen, weil ich sowieso nicht genau weiss, ob das eine gute Lösung gewesen wäre.
Habe es dann mit gettern in der Sql Klasse versucht. Das funktioniert auch soweit. Habe also eine ArrayListe erstellt und mir so die Gruppennamen zurückgegeben. Nur fehlen mir jetzt noch die Gruppenid's, wofür ich dann ja eine zweite Liste bräuchte, oder? Wenn ja, wie durchlaufe ich beide gleichzeitig und packe die passende Nummer mit dem passenden Namen in mein ListView?
Oder gibt es eine ganz andere, bessere Lösung?
Hier noch ein bisschen Code:
SqlConnection.class
Java:
public static void refreshGroupList() {
conn = getInstance();
if(conn != null) {
Statement query;
try {
query = conn.createStatement();
String sqlQuery = "SELECT group_name, id FROM " + Constants.SQL_TABLE_GROUP;
ResultSet result = query.executeQuery(sqlQuery);
while(result.next()) {
String groupName = result.getString("group_name");
String id = result.getString("id");
list.add(groupName);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
public static List<String> listOfNames() {
return list;
}
MainWindowController.class
Java:
public void refreshList() {
SqlConnection sqlConnection = new SqlConnection();
sqlConnection.refreshGroupList();
for (String string : sqlConnection.listOfNames()) {
items.add(new Group(string, "1"));
}
}
}
Grüße