Я работаю над назначением (GASP) и имеет проблемы с отображением моего изображения. Я не ищу, чтобы кто-то выполнил мое задание для меня, но мне отчаянно нужна помощь в выяснении, почему мой код работает неправильно. Я просмотрел свою книгу по программированию на Java, а также искал ответы онлайн безрезультатно, поэтому, если кто-то может привести меня в правильном направлении, я бы очень признателен! Вот мой displayImage код:Как импортировать изображение в JPanel
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DisplayImage extends JFrame {
public void DislayImage(){
add (new ImagePanel());
}
public static void main(String[] args) {
JFrame frame = new DisplayImage();
frame.setTitle("Go Bearcats!");
frame.setSize(300, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Assignment02 a = new Assignment02();
frame.add(a);
}
}
class ImagePanel extends JPanel {
public final static String LOC = "C:\\UCincinnatiLogo.jpg";
private ImageIcon imageIcon = new ImageIcon (LOC);
private Image image = imageIcon.getImage();
@Override /**Draw image on the panel*/
protected void paintComponent(Graphics g){
super.paintComponent(g);
if (image !=null)
g.drawImage(image, 200, 200, getWidth(), getHeight(), this);
}
}
Call setVisible после того, как вы добавили свою панель в рамку. Кроме того, что не работает? – MadProgrammer
Это (imho) гораздо проще в использовании JLabel, освещающий значок и помещая ярлык на панели с размером изображения. – Tom
Почему вы говорите, что ваш код работает неправильно? –