Я новичок в java, и мне нужно сделать игру.Как инициализировать несколько компонентов paintComponents?
Проблема, с которой я столкнулся, и попытался решить за последние два часа, как рисовать изображение с помощью Jpanel и paintComponent в двух разных классах. Кажется, я не могу заставить его работать.
Вот код для моего второго класса
public class Background extends JPanel {
private BufferedImage image;
public Background() {
try {
image = ImageIO.read(getClass().getResourceAsStream("/test_bg.png"));
} catch (Exception e) {
System.out.println("Error loading background image");
}
repaint();
}
@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
super.paintComponent(g);
g2d.drawImage(image, 0, 0, null);
g2d.fillRect(100, 100, 100, 100);
}
}
Это в значительной степени то же самое, что и в моем классе уровне, но это не отображается на экране. По причинам, которые не стоит упоминать, мне нужно, чтобы это был отдельный класс.
Спасибо.
Если изображение существует, этот код выглядит нормально. Проблема, вероятно, происходит откуда-то еще. – Karl
Убедитесь, что вы добавляете фон в свой JFrame и что он не находится под другими кадрами. – Karl
karl, как бы я это сделал? –