Hi,
ich habe ein Projekt bei dem mehrere Ansichten als seperate JFrames implementiert wurden. Diese Ansichten sollen nun in einem JFrame zusammengeführt werden.
Es soll also einen HauptFrame geben, in dem man über das Menü oder auch Kontextmenüs in die verschiedenen Ansichten kommt. Das Menü bleibt dabei immer gleich.
Wie macht man sowas am besten/elegantesten?
- Sobald sich die Ansicht ändert den aktuellen Frame 'disposen' und einen komplett neuen Frame anzeigen? Scheint mir keine elegante Lösung zu sein, weil man ja auch ein kurzes Flackern sehen würde oder?
- CardLayout? Dann wären doch alle Frames gleichzeitig im Speicher!? Manche Frames haben Tabellen, die sich alle paar Sekunden automatisch aktualisieren (Datenbank-Anbindung). Würden die Frames sich auch aktualisieren, wenn sie gerade nicht sichtbar sind?
- Hauptframe statisch deklarieren? Dann könnte man von überall im Programm mit setContentPane() den Inhalt ändern.
- andere Methode?
Mir scheint es am besten zu sein, den Hauptframe statisch zu deklarieren und dann immer den ContentPane zu verändern. Ich würde dann die einzelnen Ansichten in Klassen vom Typ Container verpacken. Ich habe es testweise mal probiert und es klappt auch soweit allerdings sieht man beim Wechsel zu einer anderen Ansicht zuerst die neuen Buttons über der alten Ansicht und dann (nach ner halben Sekunde oder so) erst den Rest, was natürlich unschön ist. Woran könnte das liegen?
vielleicht hat jemand eine Idee
Gruß
riko
ich habe ein Projekt bei dem mehrere Ansichten als seperate JFrames implementiert wurden. Diese Ansichten sollen nun in einem JFrame zusammengeführt werden.
Es soll also einen HauptFrame geben, in dem man über das Menü oder auch Kontextmenüs in die verschiedenen Ansichten kommt. Das Menü bleibt dabei immer gleich.
Wie macht man sowas am besten/elegantesten?
- Sobald sich die Ansicht ändert den aktuellen Frame 'disposen' und einen komplett neuen Frame anzeigen? Scheint mir keine elegante Lösung zu sein, weil man ja auch ein kurzes Flackern sehen würde oder?
- CardLayout? Dann wären doch alle Frames gleichzeitig im Speicher!? Manche Frames haben Tabellen, die sich alle paar Sekunden automatisch aktualisieren (Datenbank-Anbindung). Würden die Frames sich auch aktualisieren, wenn sie gerade nicht sichtbar sind?
- Hauptframe statisch deklarieren? Dann könnte man von überall im Programm mit setContentPane() den Inhalt ändern.
- andere Methode?
Mir scheint es am besten zu sein, den Hauptframe statisch zu deklarieren und dann immer den ContentPane zu verändern. Ich würde dann die einzelnen Ansichten in Klassen vom Typ Container verpacken. Ich habe es testweise mal probiert und es klappt auch soweit allerdings sieht man beim Wechsel zu einer anderen Ansicht zuerst die neuen Buttons über der alten Ansicht und dann (nach ner halben Sekunde oder so) erst den Rest, was natürlich unschön ist. Woran könnte das liegen?
vielleicht hat jemand eine Idee
Gruß
riko