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

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

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

Листинг программы
  1. import java.awt.Graphics;
  2. import java.awt.image.BufferedImage;
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.logging.Level;
  6. import java.util.logging.Logger;
  7. import javax.imageio.ImageIO;
  8. import javax.swing.JPanel;
  9. public class Paint extends JPanel {
  10. BufferedImage image;
  11. @Override
  12. public void paintComponents(Graphics g) {
  13. super.paintComponent(g);
  14. g.drawImage(image, 0, 0, null);
  15. try {
  16. this.image = ImageIO.read(new File("assets/background.jpg"));
  17. } catch (IOException ex) {
  18. Logger.getLogger(Paint.class.getName()).log(Level.SEVERE, null, ex);
  19. }
  20. }
  21. }
Paint my = new Paint(); Вызываю вот так
Листинг программы
  1. Но картинки не видно не где
  2. f1.add(my);

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

textual
Листинг программы
  1. public class Main extends JFrame {
  2.     Main() {
  3.         setSize(400, 400);
  4.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  5.         add(new Paint());
  6.         setVisible(true);
  7.     }
  8.  
  9.     public static void main(String[] args) {
  10.         new Main();
  11.     }
  12.  
  13.     static class Paint extends JPanel {
  14.  
  15.         BufferedImage image;
  16.  
  17.         @Override
  18.         public void paintComponent(Graphics g) {
  19.             super.paintComponent(g);
  20.             try {
  21.                 image = ImageIO.read(new File("assets/background.jpg"));
  22.             } catch (IOException e) {
  23.                 e.printStackTrace();
  24.             }
  25.             g.drawImage(image, 0, 0, null);
  26.         }
  27.     }
  28. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут