Witam!
Mam problem z dodaniem grafiki do programu w javie.
public class Gra extends JFrame{
BufferedImage image;
JFrame jFrame= null;
Canvas canvas= null;
Graphics2D g2d=null;
BufferStrategy buffer=null;
public Gra() throws IOException
{
File imageFile = new File("images/alien1.png");
image=ImageIO.read(imageFile);
setIgnoreRepaint( true );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.jFrame = new JFrame("Game");
jFrame.setIgnoreRepaint( true );
jFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.canvas = new Canvas();
canvas.setIgnoreRepaint( true );
canvas.setSize( 1020, 860 );
add(canvas);
pack();
setVisible(true);
canvas.createBufferStrategy(2);
this.buffer = canvas.getBufferStrategy();
this.g2d = (Graphics2D) buffer.getDrawGraphics() ;
}
public void draw()
{
g2d.setColor(Color.black);
g2d.fillRect(0, 0, 1020,860);
g2d.drawImage(image, 0,0, this);
}
public static void main(String[] args) throws IOException
{
Gra gra=new Gra();
gra.draw();
while(true)
{
gra.draw();
gra.buffer.show();
}
}
}
i teraz chciałem dodać obrazek, który będzie ładowany do gry, jak to zrobić? Próbowałem ładować to wszystko do BufferedImage, tak jak widać w kodzie, ale wyskakuje mi błąd, że nie ma takiego pliku. Błąd jest gdzieś w kodzie, w sensie, kompletnie źle to robię, czy problem tkwi w złym umiejscowieniu pliku? Wyczytałem w internecie, że powinien się znajdować w projekcie w folderze bin/, aby móc się do niego odwoływać tak jak to robię w kodzie- stworzyłem więc taki folder, ale nic to nie daje.
Z góry dziękuje!