public BoardView1(IGame game, Frame frame, ClientGUI clientgui) throws java.io.IOException {  this.clientgui = clientgui; this.game = game; this.frame = frame;  tileManager = new TilesetManager(this);  game.addGameListener(gameListener); game.getBoard().addBoardListener(this); redrawWorker.start(); addKeyListener(this); addMouseListener(this); addMouseMotionListener(this);    Properties p = System.getProperties(); String javaVersion = p.getProperty( "java.version" ); 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();   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(); } PreferenceManager.getClientPreferences().addPreferenceChangeListener(this);
public BoardView1(IGame game, Frame frame) throws java.io.IOException { this(game, frame, null);
    public BoardView1(IGame game, Frame frame, ClientGUI clientgui) throws java.io.IOException {        //TODO please eliminate the usage of the clientgui        this.clientgui = clientgui;        this.game = game;        this.frame = frame;        tileManager = new TilesetManager(this);        game.addGameListener(gameListener);        game.getBoard().addBoardListener(this);        redrawWorker.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();        }        PreferenceManager.getClientPreferences().addPreferenceChangeListener(this);    }