Не могу отрисовать картинку через JPanel - Java

Узнай цену своей работы

Формулировка задачи:

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
 
public class Paint extends JPanel {
    BufferedImage image;
 
@Override
  public void paintComponents(Graphics g) {
    super.paintComponent(g);
    g.drawImage(image, 0, 0, null);
 
        try {
            this.image = ImageIO.read(new File("assets/background.jpg"));
        } catch (IOException ex) {
            Logger.getLogger(Paint.class.getName()).log(Level.SEVERE, null, ex);
        }
 
}
}
Paint my = new Paint(); Вызываю вот так
Но картинки не видно не где
 
f1.add(my);

Решение задачи: «Не могу отрисовать картинку через JPanel»

textual
Листинг программы
public class Main extends JFrame {
    Main() {
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(new Paint());
        setVisible(true);
    }
 
    public static void main(String[] args) {
        new Main();
    }
 
    static class Paint extends JPanel {
 
        BufferedImage image;
 
        @Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            try {
                image = ImageIO.read(new File("assets/background.jpg"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            g.drawImage(image, 0, 0, null);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5