Hey, I'm trying to make a game for a school project that uses image files. I've been working on changing some pre-written code (I believe from IBM) that we used for pong as I'm not yet an expert on swing; however, the pre-written code only allows for the insertion of solid colored objects, not images. The pre-written code was divided into Game (which was a child of JFrame) and GameObject (which was a child of JComponent). The original paint method in GameObject was
I changed it to be
Where image has already been declared and constructed as follows
Unfortunately when I run the game, the GameObject does not appear at all in the JFrame, except when I move it into the top left corner of the screen.
I'm also not sure if I should use a BufferedImage or a normal Image to construct my image, and what the best way to construct it would be.
Any help would be appreciated, thanks.
Code:
public void paint(Graphics g) { Rectangle r = getBounds(); g.setColor(c); g.fillRect(0, 0, (int)r.getWidth(), (int)r.getHeight()); }
Code:
public void paint(Graphics g) { g.drawImage(image, getX(), getY(), this); }
Code:
BufferedImage image; try { String path = "images/spaceship.png"; URL url = getClass().getResource(path); image = ImageIO.read(url); } catch (IOException e) { System.out.println("not valid image"); }
I'm also not sure if I should use a BufferedImage or a normal Image to construct my image, and what the best way to construct it would be.
Any help would be appreciated, thanks.