Hallo Zusammen
Ich bin relativ unerfahren in Java und habe eine erste Anwendung Programmiert, bei der ich Daten in eine Datenbank schreibe und anschliessen auslese und in einer JTable publiziere. Die Aktualisierung der JTable soll in Echtzeit erfolgen. Bei meinem Code habe ich dazu ein Timer verwendet, der mir so immer die Tabelle aktualisiert. Das Problem ist nur, dass mir so immer der Arbeitsspeicher füllt, das heisst ich habe ein Speicher Leak.
Habt ihr eine Idee, wie ich dies verhindern kann?
Hier der Code:
Besten Dank im Voraus
Gruss Selmau
Ich bin relativ unerfahren in Java und habe eine erste Anwendung Programmiert, bei der ich Daten in eine Datenbank schreibe und anschliessen auslese und in einer JTable publiziere. Die Aktualisierung der JTable soll in Echtzeit erfolgen. Bei meinem Code habe ich dazu ein Timer verwendet, der mir so immer die Tabelle aktualisiert. Das Problem ist nur, dass mir so immer der Arbeitsspeicher füllt, das heisst ich habe ein Speicher Leak.
Habt ihr eine Idee, wie ich dies verhindern kann?
Hier der Code:
Code:
Timer timer_1 = new Timer(0, new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
try {
JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setBounds(38, 320, 350, 350);
// scrollPane_1.setFont(new Font("Tahoma", Font.PLAIN, 15));
add(scrollPane_1);
table_1 = new JTable();
String query = "SELECT `Produkt`, `Anzahl`FROM `Bestellungen_Essen_SNF`, Produkte_SNF WHERE `Produkt_E` = product_id AND `Bestellnummer`='"+Home.min_best_essen_1+"' ";
PreparedStatement pst=(PreparedStatement) conn.prepareStatement(query);
ResultSet rs=pst.executeQuery();
table_1.setModel(DbUtils.resultSetToTableModel(rs));
table_1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table_1.setFont(new Font("Tahoma", Font.PLAIN, 20));
table_1.setRowHeight(40);
table_1.getColumnModel().getColumn(0).setMinWidth(300);
table_1.getColumnModel().getColumn(1).setMaxWidth(49);
scrollPane_1.setViewportView(table_1);
textField_tisch_1.setText(String.valueOf(Home.min_best_essen_tisch_1));
textField_nr_1.setText(String.valueOf(Home.min_best_essen_1));
textField_kommentar_1.setText(String.valueOf(show_kommentar(Home.min_best_essen_1)));
}catch (Exception ey) {
ey.printStackTrace();
}
}
});
Besten Dank im Voraus
Gruss Selmau