Program: 37700
Project: 37700
Buggy source:
public RopeFrame(){
  this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  addWindowListener(this);
  addFocusListener(this);
  if (packFrame) {
    this.pack();
  }
 else {
    this.validate();
  }
  Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
  Dimension frameSize=new Dimension(screenSize.width - 10,screenSize.height - (RopeHelper.isMac ? 80 : 50));
  this.setSize(frameSize);
  this.setLocation((screenSize.width - frameSize.width) / 2,10);
  this.setTitle(MessageFormat.format(RopeResources.getString("String_Node_Str"),RopeResources.getString("String_Node_Str")));
  JPanel contentPanel=(JPanel)this.getContentPane();
  contentPanel.add(desktop);
  desktop.setBackground(new Color(215,215,255));
  setupMenus();
  Dimension ropeFrameSize=this.getContentPane().getSize();
  editFrame=new EditFrame(this);
  Point frameLocation=new Point(0,0);
  frameSize=editFrame.getSize();
  frameLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",editFrame.getLocation().toString()));
  frameSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",editFrame.getSize().toString()));
  editFrame.setLocation(frameLocation);
  editFrame.setSize(frameSize);
  editFrame.setVisible(true);
  desktop.add(editFrame);
  execFrame=new ExecFrame(this);
  frameLocation.setLocation((ropeFrameSize.width / 2),0);
  frameSize=execFrame.getSize();
  frameLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",execFrame.getLocation().toString()));
  frameSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",execFrame.getSize().toString()));
  execFrame.setLocation(frameLocation);
  execFrame.setSize(frameSize);
  execFrame.setVisible(false);
  desktop.add(execFrame);
  printoutFrame=new PrintoutFrame(this);
  frameSize.setSize(printoutFrame.getWidth(),ropeFrameSize.height - editFrame.getHeight());
  frameLocation.setLocation(0,ropeFrameSize.height - frameSize.height);
  frameLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",frameLocation.toString()));
  frameSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",frameSize.toString()));
  printoutFrame.setLocation(frameLocation);
  printoutFrame.setSize(frameSize);
  printoutFrame.setVisible(false);
  desktop.add(printoutFrame);
  currentChildFrame=editFrame;
  setVisible(true);
  clipboardListener=new ClipboardListener(this);
}

Fixed version (ground truth):
public RopeFrame(){
  this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  addWindowListener(this);
  addFocusListener(this);
  if (packFrame) {
    this.pack();
  }
 else {
    this.validate();
  }
  Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
  Dimension frameSize=new Dimension(screenSize.width - 10,screenSize.height - (RopeHelper.isMac ? 80 : 50));
  this.setSize(frameSize);
  this.setLocation((screenSize.width - frameSize.width) / 2,10);
  this.setTitle(MessageFormat.format(RopeResources.getString("String_Node_Str"),RopeResources.getString("String_Node_Str")));
  JPanel contentPanel=(JPanel)this.getContentPane();
  contentPanel.add(desktop);
  desktop.setBackground(new Color(215,215,255));
  setupMenus();
  Dimension ropeFrameSize=getSize();
  editFrame=new EditFrame(this);
  Point frameLocation=new Point(0,0);
  frameSize=editFrame.getSize();
  frameLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",editFrame.getLocation().toString()));
  frameSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",editFrame.getSize().toString()));
  verifyFrameLocation(frameLocation);
  verifyFrameSize(frameSize);
  editFrame.setLocation(frameLocation);
  editFrame.setSize(frameSize);
  editFrame.setVisible(true);
  desktop.add(editFrame);
  execFrame=new ExecFrame(this);
  frameLocation.setLocation(ropeFrameSize.width / 2,0);
  frameSize=execFrame.getSize();
  frameLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",execFrame.getLocation().toString()));
  frameSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",execFrame.getSize().toString()));
  verifyFrameLocation(frameLocation);
  verifyFrameSize(frameSize);
  execFrame.setLocation(frameLocation);
  execFrame.setSize(frameSize);
  execFrame.setVisible(false);
  desktop.add(execFrame);
  printoutFrame=new PrintoutFrame(this);
  frameLocation.setLocation(ropeFrameSize.width / 2,ropeFrameSize.height / 2);
  frameSize=printoutFrame.getSize();
  frameLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",frameLocation.toString()));
  frameSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",frameSize.toString()));
  verifyFrameLocation(frameLocation);
  verifyFrameSize(frameSize);
  printoutFrame.setLocation(frameLocation);
  printoutFrame.setSize(frameSize);
  printoutFrame.setVisible(false);
  desktop.add(printoutFrame);
  currentChildFrame=editFrame;
  setVisible(true);
  clipboardListener=new ClipboardListener(this);
}