Подтвердить что ты не робот

Java: как добавить изображение в Jlabel?

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

Ответ 1

Вы должны предоставить реализацию JLabel a Icon (i.e ImageIcon). Вы можете сделать это через метод setIcon, как в своем вопросе, или через конструктор JLabel:

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

Я рекомендую вам прочитать Javadoc для JLabel, Icon и ImageIcon. Кроме того, вы можете проверить Как использовать учебники по этикеткам для получения дополнительной информации.

Ответ 2

Чтобы получить изображение из URL-адреса, мы можем использовать следующий код:

ImageIcon imgThisImg = new ImageIcon(PicURL));

jLabel2.setIcon(imgThisImg);

Это полностью работает для меня. PicUrl - строковая переменная, которая рисует URL-адрес изображения.

Ответ 3

(Если вы используете среду IDE NetBeans) Просто создайте папку в своем проекте, но вне папки src. Именована папка "Изображения". Затем поместите изображение в папку "Изображения" и напишите код ниже.

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

Теперь запустите свою программу.

Ответ 4

самый короткий код:

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

stringPictureURL - это PATH изображения.

Ответ 5

Простой код, который вы можете написать в 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