Hallo,
ich versuche zur Zeit eine Suchfunktion mit einer JTable als Anzeige zu erstellen und bin dabei auf 2 Probleme gestoßen...
Ich ziehe mir Daten aus einer Datenbank und habe mir eine Klasse erstellt. Diese erstellt aus den Daten Vektoren um sie dann in einer JTable anzeigen zu lassen. Hier erstmal der Code:
Jetzt habe ich gelesen, dass Vektoren veraltet sind und man lieber ein default table model verwenden soll, hierzu wollte ich mir einmal professionelle Meinungen einholen, da ich ziemlich neu in der Swing-Programmierung bin. Ein Codebeispiel wäre nett, wenn ich nicht mit Vektoren arbeiten soll.
Mein zweites Problem ist die Suchfunktion. Die JTable ist mit dem Inhalt der Datenbank gefüllt und es wird auch alles korrekt angezeigt. Es gibt ein Textfeld für den Suchbegriff und einen Button, dieser Button erstellt eine neue Liste in der die Strings mit dem gesuchten Inhalt ausgegeben werden. Diese Liste soll nun in der vorhandenen JTable ausgegeben werden, aber das kriege ich beim besten Willen nicht hin, bin anscheinend zu doof, die JTable zu aktuallisieren
Hier noch der Code für den Button:
ich versuche zur Zeit eine Suchfunktion mit einer JTable als Anzeige zu erstellen und bin dabei auf 2 Probleme gestoßen...
Ich ziehe mir Daten aus einer Datenbank und habe mir eine Klasse erstellt. Diese erstellt aus den Daten Vektoren um sie dann in einer JTable anzeigen zu lassen. Hier erstmal der Code:
Java:
public Vector getEventsFromDB(Connection dbVerbindung) {
Vector results = new Vector();
try {
Statement stmt = dbVerbindung.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT * FROM tbl_veranst Where ID_VA = 1 OR (ID_VA =5)");
while (rs.next()) {
Vector dbEvent = new Vector();
dbEvent.add(rs.getString(3));
dbEvent.add(rs.getDate("Startdatum"));
results.add(dbEvent);
}
} catch (SQLException e) {
e.printStackTrace();
}
return results;
}
Mein zweites Problem ist die Suchfunktion. Die JTable ist mit dem Inhalt der Datenbank gefüllt und es wird auch alles korrekt angezeigt. Es gibt ein Textfeld für den Suchbegriff und einen Button, dieser Button erstellt eine neue Liste in der die Strings mit dem gesuchten Inhalt ausgegeben werden. Diese Liste soll nun in der vorhandenen JTable ausgegeben werden, aber das kriege ich beim besten Willen nicht hin, bin anscheinend zu doof, die JTable zu aktuallisieren
Hier noch der Code für den Button:
Java:
JButton btnNewButton = new JButton("Search");
final Vector searchList = new Vector<String>();
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
for (int i = 0; i < eventList.size(); i++) {
if (eventList.get(i).toString()
.contains(textField.getText())) {
String txt = eventList.get(i).toString();
searchList.add(txt);
}
}
System.out.println(searchList);
}
});