setContentPane() vs. getContentPane().add()

Hallo,

ich bin Java-Anfänger und frage mich schon seit geraumer Zeit, wo der Unterschied zwischen den beiden oben genannten Methoden ist.

Im Unterricht lerne ich, alles was in ein JFrame eingegeben werden soll, mit getContentPane().add(PanelXY) zu platzieren.

In einem Buch, mit dem ich lerne, wird regelmäßig für diesen Zweck die setContentPane(PanelXY)-Methode verwandt.

Könnt Ihr mir hierzu etwas sagen?

Vielen Dank,
Gruß, Lars

Hallo,

das ist eigentlich völlig egal, wie du es machst. Ein JFrame enthält einen Container für die siuchtbaren Oberflächenelemente. Vermutlich handelt es sich um ein JPanel. (Das kannst Du ja rausfinden. Object stellt die dazu benötigten Methoden zur Verfügung)

Bei der ersten Methode LEGST Du ein JPanel AUF die ContentPane. Die ContentPane bleibt also erhalten.
Bei der zweiten ERSETZT du die ContentPane durch das JPanel.

Wenn die ContentPane zusätzliche Eigenschaften hatte, gehen diese beim zweiten Ansatz verloren. (Jetzt ist sie ja weg. Aufgefressen vom Garbage Collector)

Gruß

Peter

Hallo Peter,

danke! Endlich hat mir das mal einer erklärt.

Gruss, Lars