вывод изображения на экран в java
есть код, который должен выводить изображение на экран. Первоначально я попробовал вывести просто линию, и все сработало успешно. но картинка с компьютера выводиться наглухо отказалась что бы я не делал. пожалуйста помогите. вот код:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JPanel{
Image img = new ImageIcon("3.png").getImage();//записываем изображение в переменную
public static void main(String[] args){
//создаем окно
JFrame fr = new JFrame();
fr.setSize(1900, 1000);
fr.setVisible(true);
fr.add(new Main());
fr.setResizable(false);
}
public void paint(Graphics g){
g.drawImage(img, 0, 0, null);//выводим линию
g.drawLine(20, 20, 200, 200);//выводим изображение
}
}
Ответы (2 шт):
Автор решения: Олексій Моренець
→ Ссылка
Перенесите создание переменной img в метод paint(). Или сделайте ее static)
Автор решения: Сочиняй-Хан
→ Ссылка
Изображение где лежит? В корневой папке или в src? Если в src то надо путь указывать Image img = new ImageIcon("src/3.png").getImage();