size.height = Settings.minimumSizeHeight;
size.height = Settings.minimumSizeHeight; updateSize = true;
    private void finishSetup(Frame p) {        addWindowListener(new WindowAdapter() {                public void windowClosing(WindowEvent e) {                    setVisible(false);                }            });        pack();                Dimension size = getSize();        boolean updateSize = false;        if ( size.width < Settings.minimumSizeWidth ) {            size.width = Settings.minimumSizeWidth;        }        if ( size.height < Settings.minimumSizeHeight ) {            size.height = Settings.minimumSizeHeight;        }        if ( updateSize ) {            setSize( size );            size = getSize();        }        setLocation(p.getLocation().x + p.getSize().width/2 - size.width/2,                    p.getLocation().y + p.getSize().height/2 - size.height/2);        // work out which component will get the focus in the window        if (useCheckbox) {            firstFocusable=botherCheckbox;        } else {            firstFocusable=butYes;        };        // we'd like the default button to have focus, but that can only be done on displayed        // dialogs in Windows. So, this rather elaborate setup: as soon as the first focusable        // component receives the focus, it shunts the focus to the OK button, and then        // removes the FocusListener to prevent this happening again        if (!firstFocusable.equals(defaultButton)) {            firstFocusable.addFocusListener(new FocusListener() {                public void focusGained(FocusEvent e) {                    defaultButton.requestFocus();                }                public void focusLost(FocusEvent e) {                    firstFocusable.removeFocusListener(this); // refers to listener                }            });        };    }