重绘()不工作

repaint() is not working

我想画圆并将其居中对齐,但是当我调用 repaint() 时没有任何反应。我几乎尝试了一切,我改变了布局、对齐方式,但总是一样。这是我的代码:

public class Frame extends JFrame {

    JButton button,dugme;
    JLabel lab;

    public Frame(){
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(480,320);
        setResizable(false);
        setLocationRelativeTo(null);
        setLayout(new FlowLayout());
        setVisible(true);

        button = new JButton("Klikni me");
        button.setSize(75,75);
        add(button);
        button.setHorizontalAlignment(SwingConstants.RIGHT);

        dugme= new JButton("Klikni opet");
        dugme.setSize(75,75);
        add(dugme);
        dugme.setHorizontalAlignment(SwingConstants.LEFT);

        lab = new JLabel("Ovde je tekst koji se menja");
        add(lab);
        lab.setHorizontalAlignment(SwingConstants.CENTER);
        Handler handler = new Handler();
        Handler1 handler1= new  Handler1();
        repaint();

        button.addActionListener(handler);
        dugme.addActionListener(handler1);
    }

    public void paintComponent(Graphics g){
        super.paintComponents(g);
        g.fillOval(30, 30, 60, 75);
    }

     public class Handler implements ActionListener{
        public void actionPerformed(ActionEvent e){
            repaint();
            lab.setText("New text");
        }
    } 

     public class Handler1 implements ActionListener{
         public void actionPerformed(ActionEvent e){
             lab.setText("Same text again ");
                repaint();
         }
     }
}
public void paintComponent(Graphics g){
    super.paintComponents(g);

打破油漆链,应该是:

public void paintComponent(Graphics g){
    super.paintComponent(g); // no S in method name..