Загрузка картинки в панель - Java

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

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

Добрый день. Пишу небольшую программку и столкнулся с проблемой. Есть класс ImagePanel, который должен загружать в панель картинку, но этого почему-то не происходит. Пишу в NetBeans, картинка лежит в верхней папке проекта Такой же класс использовал в другой программе и там он работал.
Листинг программы
  1. import java.awt.BorderLayout;
  2. import java.awt.Graphics;
  3. import java.awt.Image;
  4. import javax.swing.BorderFactory;
  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JPanel;
  9.  
  10. public class MainFrame extends JFrame{
  11. JPanel All = new JPanel();
  12. ImagePane header= new ImagePanel();
  13. ImagePane content= new ImagePanel();
  14. JLabel ttt=new JLabel("================================================");
  15. public MainFrame (){
  16. super("Форма");
  17. header.setLayout(new BorderLayout());
  18. header.setBorder(BorderFactory.createEtchedBorder());
  19. header.Image("header.jpg");
  20. setResizable(false);//изменение размера
  21. setSize(650, 420);
  22. setLocationRelativeTo(null);
  23. header.add(ttt);
  24. All.add(header);
  25. setContentPane(All);
  26. setVisible(true);
  27.  
  28. }
  29. private class ImagePanel extends JPanel {
  30. private Image img;
  31. public void Image (String img) {
  32. this.img=new ImageIcon(img).getImage();
  33. this.repaint();
  34. }
  35.  
  36. @Override
  37. public void paintComponent(Graphics g) {
  38. super.paintComponent(g);
  39. g.drawImage(img, 20, 60, null);
  40. g.drawRect(20, 60, 240, 240);
  41. }
  42. }
  43. public static void main(String[] args) {
  44. MainFrame StWin=new MainFrame();
  45. }
  46. }

Решение задачи: «Загрузка картинки в панель»

textual
Листинг программы
  1.     public NewClass() {
  2.         super("Форма");
  3.         header.setLayout(new BorderLayout());
  4.         header.setBorder(BorderFactory.createEtchedBorder());
  5.         header.Image("header.jpg");
  6.         setResizable(false);
  7.         setSize(650, 420);
  8.         setLocationRelativeTo(null);
  9.         header.add(ttt);
  10.         setContentPane(header);
  11.         setVisible(true);
  12.         setDefaultCloseOperation(DISPOSE_ON_CLOSE); //Это строчка чтоб правильно закрывалось приложение.
  13.     }

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


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

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

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

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

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

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