Pourquoi setLocation () ne déplace-t-il pas mon étiquette?

J'ai le code suivant lorsque j'essaie de mettre un JLabel dans un emplacement personnalisé sur un JFrame.

public class GUI extends JFrame 
{

    /**
     * 
     * @param args
     */
    public static void main(String args[]) 
    {
        new GUI();
    }
    /**
     * 
     */
    public GUI() 
    {
        JLabel addLbl = new JLabel("Add: ");
        add(addLbl);
        addLbl.setLocation(200, 300);
        this.setSize(400, 400);

        //pack();
        setVisible(true);
    }
}

Il ne semble pas aller là où je le veux.

source d'informationauteur rob