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

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

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

Добрый день. Пишу небольшую программку и столкнулся с проблемой. Есть класс ImagePanel, который должен загружать в панель картинку, но этого почему-то не происходит. Пишу в NetBeans, картинка лежит в верхней папке проекта Такой же класс использовал в другой программе и там он работал.
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MainFrame extends JFrame{
 JPanel All = new JPanel();   
 ImagePane header= new ImagePanel();
 ImagePane content= new ImagePanel();
 JLabel ttt=new JLabel("================================================");
 
 public MainFrame (){
    super("Форма");
    header.setLayout(new BorderLayout());
    header.setBorder(BorderFactory.createEtchedBorder());
    header.Image("header.jpg");
    setResizable(false);//изменение размера
    setSize(650, 420);
    setLocationRelativeTo(null);
    header.add(ttt);
    All.add(header);
    setContentPane(All);
    setVisible(true);

}
 
 private class ImagePanel extends JPanel {
 
        private Image img;
      
        public void Image (String img) {
        this.img=new ImageIcon(img).getImage();
        this.repaint();
        }

        @Override
        public void paintComponent(Graphics g) {
          super.paintComponent(g);
          g.drawImage(img, 20, 60, null);
          g.drawRect(20, 60, 240, 240);
        }
    }
 public static void main(String[] args) {
        MainFrame StWin=new MainFrame();
    }
}

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

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

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


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

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

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