public void Initialize() {

    setIJCal();
    setPreferredLocation();

    buttonPanel_ = new Panel();

    AbstractButton saveButton = new JButton("Save");
    saveButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            new FileSaver(getImagePlus()).save();
          }
        });
    buttonPanel_.add(saveButton);

    AbstractButton saveAsButton = new JButton("Save As...");
    saveAsButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            new FileSaver(getImagePlus()).saveAsTiff();
          }
        });
    buttonPanel_.add(saveAsButton);

    add(buttonPanel_);
    pack();

    // add window listeners
    addWindowListener(
        new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            finalizeClosing();

            if (contrastDlg_ != null) contrastDlg_.dispose();
            savePosition();
            // ToDo: implement winAccesslock_;
            // remember LUT so that a new window can be opened with the
            // same LUT
            if (getImagePlus().getProcessor().isPseudoColorLut())
              currentColorModel_ = getImagePlus().getProcessor().getColorModel();

            if (contrastPanel_ != null) contrastPanel_.setImagePlus(null, null, null);
            // remember old color model
            if (getImagePlus().getProcessor().isPseudoColorLut())
              currentColorModel_ = getImagePlus().getProcessor().getColorModel();
            WindowManager.removeWindow(getImagePlus().getWindow());
          }
        });
    addWindowListener(
        new WindowAdapter() {
          public void windowClosed(WindowEvent e) {}
        });

    addWindowListener(
        new WindowAdapter() {
          public void windowOpened(WindowEvent e) {
            getCanvas().requestFocus();
            finalizeOpening();
          }
        });

    addWindowListener(
        new WindowAdapter() {
          public void windowGainedFocus(WindowEvent e) {
            updateHistogram();
          }
        });

    addWindowListener(
        new WindowAdapter() {
          public void windowActivated(WindowEvent e) {
            updateHistogram();
          }
        });
    setIconImage(
        SwingResourceManager.getImage(
            MMStudioMainFrame.class, "/org/micromanager/icons/camera.png"));

    setIJCal();
  }