Hallo, ich habe in meinem JFrame eine Menüleiste auf der linken Seite und rechts davon soll dann immer der jeweilige Inhalt angezeigt werden. Aktuell mache ich das wie folgt:
Jetzt ist es wohl nicht best practice einen Component zu löschen bevor man den Neuen hinzufügt. Ich hätte noch folgenden Code:
Das Problem damit ist, dass ich dann ja alles ändere und auch das Menü entferne. Das Menü soll einfach da bleiben und nur das mainPanel aktualisiert werden. Wie würde ich das bestenfalls lösen?
Java:
public void init() {
if (mainPanel != null)
remove(mainPanel);
switch (CoordinateSystemSettings.type) {
case 0:
mainPanel = new CoordinateSystem1D(this, new Dimension(size.width - menuWidth, size.height));
break;
case 1:
mainPanel = new CoordinateSystem2DPlus(this, new Dimension(size.width - menuWidth, size.height));
break;
case 2:
mainPanel = new CoordinateSystem2DPlusMinus(this, new Dimension(size.width - menuWidth, size.height));
break;
default:
mainPanel = new CoordinateSystem3D(this, new Dimension(size.width - menuWidth, size.height));
break;
}
add(mainPanel, BorderLayout.CENTER);
validate();
}
Jetzt ist es wohl nicht best practice einen Component zu löschen bevor man den Neuen hinzufügt. Ich hätte noch folgenden Code:
Java:
public void setView(CoordinateSystem view) {
mainPanel = view;
mainPanel.setSize(getContentPane().getSize());
setContentPane(view);
requestFocus();
}