Yes I checked the docs/howto.html file about how to draw a background. According to this doc, I use the following code: Display2D display; 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. From: Sean Luke <[log in to unmask]> To: MASON-INTEREST-L <[log in to unmask]> Time: 2010-06-22 17:04:42 Carbon Copy: <> Subject: Re: How to use the code in the app "Flockers"? On Jun 20, 2010, at 5:40 PM, recent:[log in to unmask] wrote: > 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