Witam
Od pewnego czasu siedze w javie takie drobne projekty - samouki.
Natrafilem na tutek jak zrobic prosta gre (osobiscie polecam - TUTAJ) - i mam problem z wywolaniem rysunku na aplecie.
wywala mi takie cos:
init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\xyz\Moje dokumenty\NetBeansProjects\WojnaSwiatow\build\classes
compile:
run:
Przy otwieraniu img/potworek.GIF jako null
Wystapil blad : java.lang.IllegalArgumentException input == null!
BUILD SUCCESSFUL (total time: 0 seconds)
O co chodzi z tym "java.lang.IllegalArgumentException input" ?
Od razu mowie ze obrazek znajduje sie w podanym folderze i sciezki sa prawidlowe :)
SRC:
package wojnaswiatow;
import java.awt.Canvas;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
public class WojnaSwiatow extends Canvas {
public static final int SZEROKOSC = 800;
public static final int WYSOKOSC = 600;
public WojnaSwiatow() {
JFrame okno = new JFrame(".:Wojna Swiatow:.");
JPanel panel = (JPanel)okno.getContentPane();
setBounds(0,0,SZEROKOSC,WYSOKOSC);
panel.setPreferredSize(new Dimension(SZEROKOSC,WYSOKOSC));
panel.setLayout(null);
panel.add(this);
okno.setBounds(0,0,SZEROKOSC,WYSOKOSC);
okno.setVisible(true);
okno.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public BufferedImage loadImage(String sciezka) {
URL url=null;
try {
url = getClass().getClassLoader().getResource(sciezka);
return ImageIO.read(url);
} catch (Exception e) {
System.out.println("Przy otwieraniu " + sciezka +" jako " + url);
System.out.println("Wystapil blad : "+e.getClass().getName()+" "+e.getMessage());
System.exit(0);
return null;
}
}
public void paint(Graphics g){
BufferedImage potworek = loadImage("img/potworek.GIF");
g.drawImage(potworek, 53, 48,this);
}
public static void main(String[] args) {
WojnaSwiatow inv = new WojnaSwiatow();
}
}