Cardlayout Refresh Probleme

Gerak842

Mitglied
Hi Leute

Ich suche seit Tagen eine Lösung für ein Refresh Problem, ich benutze ein CardLayout um mein mittleres Panel (im Borderlayout) dynamisch ändern zu können um so auf die anderen JPanels zu kommen.

Funktioniert auch soweit mein Problem ist nur in den anderen Klassen JLabels geändert werden können oder Daten von einer JTabel geänder werden.

Wie sage ich meinen Cardlayout das er das ihm übergeben JPanel aktuallisieren soll ?
Java:
private CardLayout cardlayout = new CardLayout();
private JPanel card = new JPanel();
private  JPanel startseite = new Startseite();
private  JPanel rktPanel = new RKT().RKTScreen();
private  JPanel panelInfoscreen = new InfoScreenPanel();
private  JPanel panelAusbildung = new AusbildungLayout().guiErzeugen();
........
card.setLayout(cardlayout);
card.add(startseite, "1");
card.add(rktPanel, "2");
card.add(panelInfoscreen, "3");

Menübar ActionListener

public void actionPerformed(ActionEvent e) {
            if (e.getSource() == startseitItem) {
                startseite.validate();
                cardlayout.show(card, "1");
            }

so ich möchte ihm sagen die JLabels in der startseite haben sich geändert bitte lade das JPanel neu...

Danke bin für jede hilfe offen
 
Du musst eigentlich gar nichts machen. Wenn du dir die Funktionsweise vom CardLayout anschaust, dann setzt es die einzelnen Panels letztendlich einfach nur auf visible/invisible. Wenn im angezeigten Panel was geändert wird, dann wird das auch sofort übernommen. Wenn in den unsichtbaren etwas geändert wird, wird das natürlich erst angezeigt, wenn selbiges Panel wieder sichtbar wird.

Dein ActionListener ist ziemlich ... fragwürdig. Als Source fragst du nach dem Panel? Ist der Actionlistener dem Panel zugewiesen oder einem Button, der auf dem Panel liegt? in dem Fall solltest du nach dem Button fragen. Für deinen Fall wäre es vielleicht noch besser, das Actioncommand abzufragen und entsprechend zu reagieren.
 

Neue Themen


Zurück
Oben