Comment définir l'emplacement d'une image dans une JFrame

Je suis en train de définir l'emplacement d'une image dans une JFrame. J'ai pensé étiquette.setLocation(100, 100); permettrait de définir l'emplacement de l'image à 100, 100 (coin supérieur gauche), mais il ne semble pas à faire n'importe quoi n'importe étaient je l'ai mis. J'ai même essayé de panal.setLocation(100, 100). Les deux ne rien faire, je reçois pas d'erreurs et la image ne s'affiche mais à 0, 0. Que suis-je doning mal? Voici mon code:

import javax.swing.*;  

public class DisplayImage {  
    public DisplayImage() {  
        JFrame frame = new JFrame("Display Image");  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

        JPanel panel = (JPanel)frame.getContentPane();  

        JLabel label = new JLabel();  
        label.setIcon(new ImageIcon("src/img/school.png"));
        label.setLocation(100, 100);
        panel.add(label);  

        frame.setLocationRelativeTo(null);  
        frame.pack();  
        frame.setVisible(true);  
    }  

    public static void main (String args[]) {  
        SwingUtilities.invokeLater(new Runnable() {  
            public void run() {  
                new DisplayImage();  
            }  
        });  
    }  
}  
  • Java Interfaces utilisateur peut avoir à travailler sur un certain nombre de plates-formes, sur différentes résolutions d'écran & à l'aide de différents PLAFs. En tant que tels, ils ne sont pas propices à l'exact du placement des composants. Pour un solide GUI, au lieu d'utiliser les gestionnaires de mise en page, ou une combinaison d'entre eux, avec mise en page rembourrage & les frontières de l'espace vide, d'organiser les composants.
  • ..Voir cette réponse pour une démo.
InformationsquelleAutor java | 2013-05-21