private static Hashtable checkers;
public static TexturePaint getCheckerBoard(int checkerSize) {
if(checkers==null)
checkers = new Hashtable();
Integer key = new Integer(checkerSize);
TexturePaint paint = (TexturePaint)checkers.get(key);
if(paint==null) {
BufferedImage bi = new BufferedImage(2*checkerSize, 2*checkerSize, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bi.createGraphics();
g.setColor(Color.white);
g.fillRect(0,0,2*checkerSize,2*checkerSize);
g.setColor(Color.lightGray);
g.fillRect(0,0,checkerSize,checkerSize);
g.fillRect(checkerSize,checkerSize,checkerSize,checkerSize);
g.dispose();
paint = new TexturePaint(bi,new Rectangle(0,0,bi.getWidth(),bi.getHeight()));
checkers.put(key, paint);
}
return paint;
}