synchronized void doFloat() {
synchronized public void doFloat() {
  synchronized void doFloat() {    if(frame == null) {      frame = new JFrame(title);      frame.getContentPane().setLayout(new BorderLayout());      frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);      frame.addWindowListener(new WindowAdapter() {	  public void windowClosing(WindowEvent e) {	    doUnfloat();	  }      });      buttonFloat.setToolTipText("Unfloat window");    }        remove(main);    add(buttonInfo, BorderLayout.SOUTH);    revalidate();    invalidate();    repaint();    frame.getContentPane().add(main, BorderLayout.CENTER);    Dimension size = main.getPreferredSize();    size = new Dimension(Math.min(200, size.width),			 Math.min(200, size.height));    frame.setSize(size);    frame.pack();    frame.setVisible(true);  }