Я пытаюсь поместить изображение в JFrame. В приведенном ниже коде я создаю прямоугольник 1020 на 720, и я хотел бы поместить изображение в этот прямоугольник.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class Screen extends JFrame
{
private BufferedImage image;
public Screen () {
super("DVD Screensaver");
Container container = getContentPane();
setSize(1020, 720);
setVisible(true);
}
public void paint(Graphics g) {
int windowHorizantal = 0, windowVerticle = 0;
windowHorizantal = 1020;
windowVerticle = 720;
g.setColor(Color.BLACK);
g.fillRect(1, 1, windowHorizantal, windowVerticle);
try {
image = ImageIO.read(getClass().getResource("dvd.png"));
} catch (IOException ex) {
ex.printStackTrace();
}
g.drawImage(image, 50, 50, null);
}
public static void main(String[] args) {
Screen prog = new Screen ();
prog.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Когда я запускаю этот код, я получаю эту ошибку: "Исключение в потоке" AWT-EventQueue-0 "java.lang.IllegalArgumentException: input == null!", Но оно действительно рисует черный прямоугольник. Я также не могу проверить, действительно ли код читает мое изображение (dvd.png).