Загрузка картинки в панель - 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); //Это строчка чтоб правильно закрывалось приложение.
}