slash: Swing - Label aktualisieren bei Knopfdruck

Hallo, ich habe ein einfaches Java Programm bei dem sich einfach die Aufschrift eines Labels ändern soll. Leider funktioniert das nicht. Hab schon mit paint() und repaint() ewig rumprobiert und weiß echt nicht mehr weiter. Kann mir jemand erklären, wie ich mein Programm verändern muss, damit sich das Label bei Knopfdruck ändert?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class GUITest extends JFrame implements ActionListener{

JPanel panel;
 JLabel label;
 JButton button;

public GUITest(){

label = new JLabel("test");
  button = new JButton("change");
  button.addActionListener(this);
  panel = new JPanel();
  panel.add(label);
  panel.add(button);

setContentPane(panel);
  setVisible(true);
  pack();
 }

public static void main(String[] args){

new GUITest();

}

public void actionPerformed(ActionEvent source){
  label = new JLabel("neu");
  repaint();
 }

}

  1. Hallo,

    public void actionPerformed(ActionEvent source){
      label = new JLabel("neu");
      repaint();
    }

    Was du hier tust, ist nicht den Text eines bestehenden Labels zu ändern. Vielmehr
    weist du dem Member 'label' eine neue Instanz eines JLabels zu. Das willst
    du vermutlich nicht.

    Diesen falschen Ansatz weiterverfolgend müßtest du das bestehende JLabel (das
    zuvor in 'label' referenziert war) aus dem Layout entfernen und das neue an
    dieselbe Stelle einfügen. Aber, wie gesagt, das willst du nicht.

    Stattdessen verwendest du lieber die Methode JLabel.setText(String) um dem
    Label einen neuen Text zu verpassen.

    Gruß
    Slyh