Hallo an alle,
ich hätte eine grundsätzliche Frage zur Programmierung von Oberflächen in Java. In meinem Programm muss sich der Fensterinhalt immer ändern (als Reaktion auf bestimmte Ereignisse, wie z.B. wenn ein Button gedruckt wird usw.). Ich habe das immer so gemacht, dass ich auf ein JPanel alle benötigten Elemente(Buttons, TextFields usw.) drauf getan habe, und falls ein Ereignis eintritt, das den Panel - Inhalt ändern soll, wurden alle alten Elemente von meinem JPanel gelöscht und die neuen hinzugefügt:
Nun meine erste Frage: ist diese Vorgehensweise effizient? Mir ist klar, dass Erzeugung von Objekten teuer ist und somit das Programm verlangsamt. Ist es sinnvoll, jedes Mal ein neues Objekt zu erzeugen, in meinem Beispiel "JButton newButton", wenn ein Ereignis eregnisX eintritt? Oder ist es performanter am Anfang des Programms einmalig das Objekt zu erzeugen?
Für eure Antworten bedanke ich mich im Voraus! :toll:
MfG
Sergey
ich hätte eine grundsätzliche Frage zur Programmierung von Oberflächen in Java. In meinem Programm muss sich der Fensterinhalt immer ändern (als Reaktion auf bestimmte Ereignisse, wie z.B. wenn ein Button gedruckt wird usw.). Ich habe das immer so gemacht, dass ich auf ein JPanel alle benötigten Elemente(Buttons, TextFields usw.) drauf getan habe, und falls ein Ereignis eintritt, das den Panel - Inhalt ändern soll, wurden alle alten Elemente von meinem JPanel gelöscht und die neuen hinzugefügt:
Java:
public class Fenster extends JFrame{
public Fenster(){
super();
Container window= this.getContentPane();
JPanel myPanel = new JPanel();
JButton firstButton= new JButton("first Button");
myPanel.add(firstButton);
window.add(myPanel);
}
public void ereignisX(){
myPanel.removeAll();
JButton newButton = new JButton("new Button");
myPanel.add(newButton);
myPanel.updateUI();
}
}
Nun meine erste Frage: ist diese Vorgehensweise effizient? Mir ist klar, dass Erzeugung von Objekten teuer ist und somit das Programm verlangsamt. Ist es sinnvoll, jedes Mal ein neues Objekt zu erzeugen, in meinem Beispiel "JButton newButton", wenn ein Ereignis eregnisX eintritt? Oder ist es performanter am Anfang des Programms einmalig das Objekt zu erzeugen?
Für eure Antworten bedanke ich mich im Voraus! :toll:
MfG
Sergey