scaledImageCaches = new ImageCache[ZOOM_FACTORS.length]; for(int i = 0;i<scaledImageCaches.length;i++) { scaledImageCaches[i] = new ImageCache(); }
    public BoardView1(IGame game, Frame frame) throws java.io.IOException {        this.game = game;        this.frame = frame;        tileManager = new TilesetManager(this);        game.addGameListener(gameListener);        game.getBoard().addBoardListener(this);        scroller.start();        addKeyListener(this);        addMouseListener(this);        addMouseMotionListener(this);        /* MouseWheelListener isn't a v1.3.1 API **        try{            addMouseWheelListener( new MouseWheelListener(){                public void mouseWheelMoved(MouseWheelEvent we){                    if (we.getWheelRotation() > 0){                            zoomIn();                    } else {                            zoomOut();                    }                }            });        } catch ( Throwable error ){            System.out.println("Mouse wheel not supported by this jvm");        }        /* MouseWheelListener isn't a v1.3.1 API */                // only use scaling if we're using Java 2, otherwise we get memory leaks etc.        Properties p = System.getProperties();        String javaVersion = p.getProperty( "java.version" ); //$NON-NLS-1$        if ( javaVersion.charAt(2) == '1' ){            isJ2RE = false;            zoomIndex = BASE_ZOOM_INDEX;        } else {            isJ2RE = true;            zoomIndex = GUIPreferences.getInstance().getMapZoomIndex();            checkZoomIndex();            hasZoomed = true;        }        scale = ZOOM_FACTORS[ zoomIndex ];                updateFontSizes();        updateBoardSize();        // tooltip        tipWindow = new Window(frame);                hex_size = new Dimension((int)(HEX_W*scale), (int)(HEX_H*scale));                initPolys();        cursorSprite = new CursorSprite(Color.cyan);        highlightSprite = new CursorSprite(Color.white);        selectedSprite = new CursorSprite(Color.blue);        firstLOSSprite = new CursorSprite(Color.red);        secondLOSSprite = new CursorSprite(Color.red);                scaledImageCaches = new ImageCache[ZOOM_FACTORS.length];        for(int i = 0;i<scaledImageCaches.length;i++) {        	scaledImageCaches[i] = new ImageCache();        }    }