I'm trying to draw a line in a JFrame, but line isn't drawn.
I tried to use the method setOpaque(true) for contentPane, lblNewLabel and l but nothing changed. I also tried call repaint(); outside this class but the situation is still the same. Here's the code:
public class DrawingClass extends JFrame
{
    private JPanel contentPane;
    public DrawingClass(int n, int s, int p) {
        Line l= new Line();
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setBounds(700, 300, 480, 640);
        contentPane = new JPanel();
        contentPane.setOpaque(true);
        setResizable(false);
        setContentPane(contentPane);
        contentPane.setLayout(null);
        JLabel lblNewLabel = new JLabel("");
        lblNewLabel.setIcon(new ImageIcon("image.png"));
        lblNewLabel.setBounds(0, 0, 480, 640);
        contentPane.add(lblNewLabel);
        l.setBounds(0,0,480,640);
        contentPane.add(l);
        repaint();
    }
    class Line extends JPanel
    {
        public void paintComponent(Graphics g) {
            g.setColor(Color.BLUE);
            g.fillRect(10, 10, 15, 12);
        }
    }
}
I expect a little line on the top left of the JFrame, above the background wallpaper, but nothing happen. It shows only the wallpaper.
 
    
