web-dev-qa-db-fra.com

Java: comment ajouter une image à Jlabel?

Image image = GenerateImage.toImage(true); //this generates an image file
JLabel thumb = new JLabel();
thumb.setIcon(image)
22
KJW

Vous devez fournir au JLabel une implémentation Icon (c'est-à-dire ImageIcon). Vous pouvez le faire via la méthode setIcon, comme dans votre question, ou via le constructeur JLabel:

Image image=GenerateImage.toImage(true);  //this generates an image file
ImageIcon icon = new ImageIcon(image); 
JLabel thumb = new JLabel();
thumb.setIcon(icon);

Je vous recommande de lire la Javadoc pour JLabel , Icon , et ImageIcon . En outre, vous pouvez consulter le How to Use Labels Tutorial , pour plus d'informations.

28
Tomas Narros

Pour obtenir une image à partir d'une URL, nous pouvons utiliser le code suivant:

ImageIcon imgThisImg = new ImageIcon(PicURL));

jLabel2.setIcon(imgThisImg);

Cela fonctionne totalement pour moi. PicUrl est une variable chaîne qui stocke l'url de l'image.

23
Nitesh Verma

(Si vous utilisez l'EDI NetBeans) Créez simplement un dossier dans votre projet mais à l'extérieur du dossier src. Nommé le dossier Images. Ensuite, placez l'image dans le dossier Images et écrivez le code ci-dessous.

// Import ImageIcon     
ImageIcon iconLogo = new ImageIcon("Images/YourCompanyLogo.png");
// In init() method write this code
jLabelYourCompanyLogo.setIcon(iconLogo);

Exécutez maintenant votre programme.

12
mezba z

le code le plus court est:

JLabel jLabelObject = new JLabel();
jLabelObject.setIcon(new ImageIcon(stringPictureURL));

stringPictureURL est CHEMIN de l'image.

4

Code simple que vous pouvez écrire dans la fonction main (String [] args)

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//application will be closed when you close frame
    frame.setSize(800,600);
    frame.setLocation(200,200);

    JFileChooser fc = new JFileChooser();
    if(fc.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION){
        BufferedImage img = ImageIO.read(fc.getSelectedFile());//it must be an image file, otherwise you'll get an exception
        JLabel label = new JLabel();
        label.setIcon(new ImageIcon(img));
        frame.getContentPane().add(label);
    }

    frame.setVisible(true);//showing up the frame
1
alexlz