new Thread(mechSelectorDialog).start();
new Thread(mechSelectorDialog, "Mech Selector Dialog").start();
    public void initialize() {        menuBar = new CommonMenuBar(this.getClient());        initializeFrame();        try {            // Create the board viewer.            bv = new BoardView1(client.game, frame);            // Place the board viewer in a set of scrollbars.            scroller = new Panel();            scroller.setLayout (new BorderLayout());            Scrollbar vertical = new Scrollbar (Scrollbar.VERTICAL);            Scrollbar horizontal = new Scrollbar (Scrollbar.HORIZONTAL);            scroller.add (bv, BorderLayout.CENTER);            // Scrollbars are broken for "Brandon Drew" <brandx0@hotmail.com>            if (Settings.getInstance().get                ("megamek.client.clientgui.hidescrollbars", "false").equals                ("false")) {                // Assign the scrollbars to the board viewer.                scroller.add (vertical, BorderLayout.EAST);                scroller.add (horizontal, BorderLayout.SOUTH);                bv.setScrollbars (vertical, horizontal);            }        } catch (IOException e) {            doAlertDialog("Fatal Error", "Could not initialise:\n" + e);            die();        }        layoutFrame();        frame.setVisible(true);        menuBar.addActionListener(this);        frame.addKeyListener(this);        frame.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {                frame.setVisible(false);                saveSettings();                die();            }        });        UnitLoadingDialog unitLoadingDialog = new UnitLoadingDialog(frame);        if (!MechSummaryCache.isInitialized()) {            unitLoadingDialog.show();        }        uo = new UnitOverview(this);        bv.addDisplayable(uo);        bv.addMouseListener(this);        bv.addKeyListener(this);        bv.add(popup);        mechW = new Dialog(frame, "Mech Display", false);        mechW.setLocation(Settings.displayPosX, Settings.displayPosY);        mechW.setSize(Settings.displaySizeWidth, Settings.displaySizeHeight);        mechW.setResizable(true);        mechW.addWindowListener(this);        mechW.addKeyListener(this);        mechD = new MechDisplay(this);        mechW.add(mechD);        // added by kenn        Ruler.color1 = Settings.rulerColor1;        Ruler.color2 = Settings.rulerColor2;        ruler = new Ruler(frame, this.client, bv);        ruler.setLocation(Settings.rulerPosX, Settings.rulerPosY);        ruler.setSize(Settings.rulerSizeWidth, Settings.rulerSizeHeight);        // end kenn        // minimap        minimapW = new Dialog(frame, "MiniMap", false);        minimapW.setLocation(Settings.minimapPosX, Settings.minimapPosY);        try {            minimap = new MiniMap(minimapW, this, bv);        } catch (IOException e) {            doAlertDialog("Fatal Error", "Could not initialise minimap:\n" + e);            die();        };        minimap.addKeyListener(this);        minimapW.addWindowListener(this);        minimapW.addKeyListener(this);        minimapW.add(minimap);        cb = new ChatterBox(this);        this.add(cb.getComponent(), BorderLayout.SOUTH);        client.changePhase(Game.PHASE_UNKNOWN);        mechSelectorDialog = new MechSelectorDialog(this, unitLoadingDialog);        new Thread(mechSelectorDialog).start();        client.addGameListener(this);    }