Hi Leute,
ich arbeite gerade an einem größerem Projekt und bin auf folgendes Problem gestoßen: ich habe ein JFrame mit einer Menubar. Wenn nun hier ein Menuitem ausgewählt wird, will ich dem Frame das dazupassende Panel zuweisen (je nach Menüpunkt anderes Panel). Leider wird kein Panel angezeigt. Ich schreibe hier mal, wie ich das gemacht habe:
JFrame mit integrierten Listenern für die Menuitems
Die Actionlistener funktionieren einwandfrei (also wenn ich ein Menuitem betätige, wird zum Listener gesprungen). Dachte durch einfache Zuweisung könnte man einen Panelwechsel durchführen , da habe ich mich aber anscheinend getäuscht. Kann mir hier wer helfen?
Danke im Vorraus
ich arbeite gerade an einem größerem Projekt und bin auf folgendes Problem gestoßen: ich habe ein JFrame mit einer Menubar. Wenn nun hier ein Menuitem ausgewählt wird, will ich dem Frame das dazupassende Panel zuweisen (je nach Menüpunkt anderes Panel). Leider wird kein Panel angezeigt. Ich schreibe hier mal, wie ich das gemacht habe:
JFrame mit integrierten Listenern für die Menuitems
Java:
public Pizza_Frame(){
initialize();
}
private void initialize(){
....
//Mit diesem Anweisungsblock sitzt das Panel praktisch auf dem Frame
panel.setLayout(null);
{ // compute preferred size
Dimension preferredSize = new Dimension();
for(int i = 0; i < panel.getComponentCount(); i++) {
Rectangle bounds = panel.getComponent(i).getBounds();
preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
}
Insets insets = panel.getInsets();
preferredSize.width += insets.right;
preferredSize.height += insets.bottom;
panel.setMinimumSize(preferredSize);
panel.setPreferredSize(preferredSize);
}
}
contentPane.add(panel);
panel.setBounds(0, 0, 620, 400);
....
}
//Bei Betätigen eines bestimmten Menüitems wird z.B. dieser Listener aufgerufen, der dann das dazugehörige Panel zuweist
private void hinzufuegen_action(ActionEvent e) {
// TODO add your code here
System.out.print("hinzufuegen");
Pizza_Panel_Hinzufuegen panel = new Pizza_Panel_Hinzufuegen();
panel.title.setText("Neue Bestellung");
this.panel = panel;
this.repaint();
}
Die Actionlistener funktionieren einwandfrei (also wenn ich ein Menuitem betätige, wird zum Listener gesprungen). Dachte durch einfache Zuweisung könnte man einen Panelwechsel durchführen , da habe ich mich aber anscheinend getäuscht. Kann mir hier wer helfen?
Danke im Vorraus
Zuletzt bearbeitet von einem Moderator: