Hallo!
Ich bastel grad ein bisschen an einer kleinen Anwendung. Mein Problem ist folgendes:
Ich habe mir ein Hauptfenster gebaut und möchte nun in diesem Fenster verschiedene Inhalte anzeigen wenn man unterschiedliche Buttons drückt(wie man das halt so bei einem Programm macht).
Ich mach das schon seit längerem folgendermaßen:
//Hauptklasse für das Fenster
//Zweite Klasse für anderen Inhalt
Nun hab ich aber bei meinem aktuellen Projekt gemerkt, dass wenn ich das Programm länger laufen lasse, dieses mehr und mehr Physikalischen Speicher in Anspruch nimmt, weil ich ja immer wieder neue Objekte der verschiedenen Klassen erzeuge.
Die konkrete Frage also:
Kann man das so machen wie ich mir das überlegt habe? Und wenn nein, wie löst das der Professionelle Programmierer?
vielen Dank schonmal
lg
Sven
Ich bastel grad ein bisschen an einer kleinen Anwendung. Mein Problem ist folgendes:
Ich habe mir ein Hauptfenster gebaut und möchte nun in diesem Fenster verschiedene Inhalte anzeigen wenn man unterschiedliche Buttons drückt(wie man das halt so bei einem Programm macht).
Ich mach das schon seit längerem folgendermaßen:
//Hauptklasse für das Fenster
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Test extends JFrame implements ActionListener {
static JPanel mainPanel = new JPanel(new FlowLayout());
JButton button = new JButton("Button");
Test(){
setSize(200,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(this);
mainPanel.add(button);
add(mainPanel);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==button){
new zweitesFenster();
}
}
public static void main(String[] args) {
new Test();
}
}
//Zweite Klasse für anderen Inhalt
Code:
import javax.swing.*;
public class zweitesFenster {
zweitesFenster(){
Test.mainPanel.removeAll();
Test.mainPanel.add(new JLabel("zweites Fenster"));
Test.mainPanel.updateUI();
}
}
Nun hab ich aber bei meinem aktuellen Projekt gemerkt, dass wenn ich das Programm länger laufen lasse, dieses mehr und mehr Physikalischen Speicher in Anspruch nimmt, weil ich ja immer wieder neue Objekte der verschiedenen Klassen erzeuge.
Die konkrete Frage also:
Kann man das so machen wie ich mir das überlegt habe? Und wenn nein, wie löst das der Professionelle Programmierer?
vielen Dank schonmal
lg
Sven