Image i = new ImageIcon(getClass().getResource("robot.jpg")).getImage();
BufferedImage b = display.getGraphicsConfiguration().createCompatibleImage(i.getWidth(null), i.getHeight(null));
Graphics g = b.getGraphics();
g.drawImage(i,0,0,i.getWidth(null),i.getHeight(null),null);
g.dispose();
display.setBackdrop(new TexturePaint(b, new Rectangle(0,0,i.getWidth(null),i.getHeight(null))));
But Eclipse indicates there are errors:
Exception in thread "main" java.lang.NullPointerException
at groupSize.FlockersWithUI.init(FlockersWithUI.java:118)
at sim.display.Console.<init>(Console.java:981)
at groupSize.FlockersWithUI.main(FlockersWithUI.java:24)
Line 118 is:
BufferedImage b = display.getGraphicsConfiguration().createCompatibleImage(i.getWidth(null), i.getHeight(null));
I think I have put robot.jpg in the bin folder.
But I don't know why there is a NullPointerException.
Time: 2010-06-22
17:04:42
Subject: Re: How to use the
code in the app "Flockers"?
> 1) In the app "Flockers", how should I revise the code so that I can
> change the colorful triangle to a png file which is provided by
> myself?
No sweat. Check out sim.portrayal.simple.ImagePortrayal2D. You'd
register that portrayal in the ContinuousPortrayal2D instead of the
Flockers drawing themselves. If this terminology is confusing, check
out the MASON tutorials. See MASON's tutorial 5 in particular.
> 2) In the app "Flockers", how should I revise the code so that I can
> change the black background to a jpg file which is provided by myself?
Also straightforward. Check out the docs/howto.html file, which has a
number of items along these lines.
Sean