Sto cercando di creare un progetto dove al click di una voce di un menù mi si visualizzi una JLabel nel mio JFrame.
Il problema è che non visualizzo la mia JLabel finchè non ridimensiono il mio JFrame (a mano).
Ho provato ad usare:
mio_JFrame.repaint();
Ma il risultato non cambia.

*******************

package provajlabel;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class ProvaJLabel {


public static void main(String[] args) {
final JFrame f = new JFrame("Rubrica");
f.setSize(400, 400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JMenuBar mb = new JMenuBar(); //creo la menu bar
JMenu m = new JMenu("Contatti"); //creo la voce contatti
JMenuItem mi1 = new JMenuItem("Aggiungi"); //creo le varie voci del menu contatti

class Listener implements ActionListener{
JMenuItem mi;
public Listener(JMenuItem mi1){
mi = mi1;
}
@Override
public void actionPerformed(ActionEvent e){
JMenuItem source = (JMenuItem) e.getSource();
if (source.equals(mi)){
f.getContentPane().setBackground(Color.red);
JLabel label = new JLabel();
label.setText("PIPPO");
f.add(label);
f.repaint();
}
}
}
Listener listener = new Listener(mi1);
mi1.addActionListener(listener);
m.add(mi1);
mb.add(m);
f.setJMenuBar(mb);
f.setVisible(true);

}
}
********************[CODE]