Java: ¿cómo agregar imágenes a Jlabel?

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

ImageIcon suministrar a JLabel una implementación de Icon (es decir, ImageIcon ). Puede hacerlo a través del método setIcon , como en su pregunta, o mediante el constructor JLabel :

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

Te recomiendo que leas el Javadoc para JLabel , Icon e ImageIcon . Además, puede consultar el Tutorial de Cómo usar tags para obtener más información.

Para obtener una imagen de una URL, podemos usar el siguiente código:

 ImageIcon imgThisImg = new ImageIcon(PicURL)); jLabel2.setIcon(imgThisImg); 

Funciona totalmente para mí El PicUrl es una variable de cadena que recorre la url de la imagen.

(Si está utilizando NetBeans IDE) Simplemente cree una carpeta en su proyecto pero fuera de la carpeta src. Nombrado la carpeta Imágenes. Y luego coloque la imagen en la carpeta Imágenes y escriba el código a continuación.

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

Ahora ejecuta tu progtwig.

el código más corto es:

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

stringPictureURL es la RUTA de la imagen.

Código simple que puede escribir en la función principal (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