JPanel aktualisieren

3phasenpeterle

Grünschnabel
Hallo ich schon wieder :),

ich habe ein Problem mit dem JPanel, ich habe eine Liste von Elementen die ich in diesem Panel darstelle unter anderem auch Buttons, wenn der löschen Button gedrückt wird, dann wird ein Eintrag gelöscht, ich möchte nun, das auch das Panel dies anzeigt, also es soll neu erstellt werden mit den neuen Informationen, wie kann ich das anstellen.

Mein Button wird in einer for schleife definiert, da ich ja mehere Elemente in meiner Liste habe. Der Button sieht zur Zeit so aus.
Code:
    		JButton remove = new JButton("löschen");
    		remove.setBounds(500,10+26*i,100,25);
    		remove.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e){
    				remove(a,b);
                              //createWindowContent(); --> damit hat es nicht geklappt
    			}
    				
    		});
was müsste ich jetzt verändern, damit das JPanel neu generiert wird und im JFrame dargestellt wird? createWindowContent() ist meine Fkt. mit der ich, das Panel beim erstmal erstelle.
 
JFrame.repaint(); zeichnet in der Regel das JFrame und damit auch dem Inhalt neu.

In der Regel kann man auf JFrame.repaint() verzichten (solang du nicht selbst zeichnest) und sollte auf DeinContainer.validate (bzw. bei dir JPanel.validate()).

Aber kann auch was anderes sein. Du verschweigst uns leider den Inhalt der "remove"-Methode (dort könnte auch der Fehler liegen) bzw. was alles gelöscht werden soll (Komponenten wie JLabel, JComboBox, JButton, ... oder z. B. Elemente in einem JTree einer JTable oder einer JList) - da ist dein Beitrag für mich ziemlich zweideutig.
 
meine remove methode hat mit der gui an sich nichts zu tun, sie löscht lediglich einen eintrag aus einer db/liste. ich werde es mal mit den vorgeschlagenen optionen probieren.
 
so also es hat sich erledigt, das problem lag daran, dass das JPanel global war, jetzt ist es lokal in der methode und dann funktioniert es. Vielen Dank für Eure Hilfe.
 
Zurück