title: Eclipse WindowBuilder Bug?
body: <p>I am making a java application for patching mods and adding texture packs into Minecraft. I want it to use a online mod store accessed through the DJ Project JWebBrowser. I am using Eclipse WindowBuilder/hand coding to construct the UI. My problem is that WindowBuilder crashes with the following error</p>
  
  <pre><code>    Stack trace:
  java.lang.IllegalArgumentException: Width (125) and height (0) cannot be &lt;= 0
      at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
      at java.awt.image.BufferedImage.&lt;init&gt;(Unknown Source)
      at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.print(SWTNativeComponent.java:845)
      at sun.awt.windows.WComponentPeer.print(Unknown Source)
      at java.awt.GraphicsCallback$PeerPrintCallback.run(Unknown Source)
      at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
      at java.awt.Component.printAll(Unknown Source)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils$2.run(SwingImageUtils.java:104)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils.runInDispatchThread(SwingImageUtils.java:554)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils.createComponentShotAWT(SwingImageUtils.java:102)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:235)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
      at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
  </code></pre>
  
  <p>The weird thing is that it works if I run it normally it works just fine. Here is the relevant source code:</p>
  
  <pre><code>setTitle("OpenMPatch");
          getContentPane().setLayout(new BorderLayout(0, 0));
  
          JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
          getContentPane().add(tabbedPane);
  
          JPanel tabModStore = new JPanel();
          tabbedPane.addTab("Mod Store", null, tabModStore, "Mod Store");
  
          JWebBrowser modStore = new JWebBrowser();
          modStore.setStatusBarVisible(false);
          tabModStore.add(modStore);
  
          JPanel tabSettings = new JPanel();
          tabbedPane.addTab("Settings", null, tabSettings, "Settings");
  
          comboBoxTheme = new JComboBox();
          comboBoxTheme.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent arg0) {
                  setLAF(comboBoxTheme.getSelectedItem().toString());
              }
          });
          comboBoxTheme.setModel(new DefaultComboBoxModel(new String[] {
                  "system", "java", "motif", "nimbus", "windows",
                  "windowsclassic" }));
          try {
              comboBoxTheme.setSelectedItem(Config.ReadConfig().get("LAF"));
          } catch (Exception e) {
              e.printStackTrace();
              OpenMPatch.error(e);
          }
  
          JLabel lblTheme = new JLabel("Theme:");
          lblTheme.setLabelFor(comboBoxTheme);
          lblTheme.setFont(new Font("Tahoma", Font.PLAIN, 12));
          lblTheme.setHorizontalAlignment(SwingConstants.RIGHT);
  
          JButton btnSaveSettings = new JButton("Save Settings");
          btnSaveSettings.addMouseListener(new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent arg0) {
                  saveSettings();
              }
          });
  
          JButton btnRestoreDefualts = new JButton("Restore Defualts");
          btnRestoreDefualts.addMouseListener(new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent arg0) {
                  try {
                      Config.restoreDefualts();
                      updateSettings();
                  } catch (Exception e) {
                      e.printStackTrace();
                      error(e);
                  }
              }
          });
  // Generated by WindowBuilder
          GroupLayout gl_tabSettings = new GroupLayout(tabSettings);
          gl_tabSettings
                  .setHorizontalGroup(gl_tabSettings
                          .createParallelGroup(Alignment.LEADING)
                          .addGroup(
                                  gl_tabSettings
                                          .createSequentialGroup()
                                          .addContainerGap()
                                          .addGroup(
                                                  gl_tabSettings
                                                          .createParallelGroup(
                                                                  Alignment.LEADING)
                                                          .addGroup(
                                                                  gl_tabSettings
                                                                          .createSequentialGroup()
                                                                          .addComponent(
                                                                                  lblTheme)
                                                                          .addPreferredGap(
                                                                                  ComponentPlacement.RELATED)
                                                                          .addComponent(
                                                                                  comboBoxTheme,
                                                                                  GroupLayout.PREFERRED_SIZE,
                                                                                  GroupLayout.DEFAULT_SIZE,
                                                                                  GroupLayout.PREFERRED_SIZE))
                                                          .addGroup(
                                                                  gl_tabSettings
                                                                          .createSequentialGroup()
                                                                          .addComponent(
                                                                                  btnSaveSettings)
                                                                          .addPreferredGap(
                                                                                  ComponentPlacement.RELATED)
                                                                          .addComponent(
                                                                                  btnRestoreDefualts)))
                                          .addContainerGap(365, Short.MAX_VALUE)));
          gl_tabSettings
                  .setVerticalGroup(gl_tabSettings
                          .createParallelGroup(Alignment.LEADING)
                          .addGroup(
                                  gl_tabSettings
                                          .createSequentialGroup()
                                          .addContainerGap()
                                          .addGroup(
                                                  gl_tabSettings
                                                          .createParallelGroup(
                                                                  Alignment.BASELINE)
                                                          .addComponent(lblTheme)
                                                          .addComponent(
                                                                  comboBoxTheme,
                                                                  GroupLayout.PREFERRED_SIZE,
                                                                  GroupLayout.DEFAULT_SIZE,
                                                                  GroupLayout.PREFERRED_SIZE))
                                          .addGap(18)
                                          .addGroup(
                                                  gl_tabSettings
                                                          .createParallelGroup(
                                                                  Alignment.BASELINE)
                                                          .addComponent(
                                                                  btnSaveSettings)
                                                          .addComponent(
                                                                  btnRestoreDefualts))
                                          .addContainerGap(274, Short.MAX_VALUE)));
          tabSettings.setLayout(gl_tabSettings);
  
          JPanel statusBar = new JPanel();
          statusBar.setToolTipText("Status");
          getContentPane().add(statusBar, BorderLayout.SOUTH);
  
          setIconImage(Toolkit.getDefaultToolkit().getImage(
                  OpenMPatch.class.getResource("/alex/mik/openmpatch/icon.png")));
  
          JMenuBar menuBar = new JMenuBar();
          setJMenuBar(menuBar);
  
          JMenu mnFile = new JMenu("File");
          menuBar.add(mnFile);
  
          JMenuItem mntmOpenFile = new JMenuItem("Open File...");
          mntmOpenFile.addMouseListener(new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent paramMouseEvent) {
  
              }
          });
          mntmOpenFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
                  InputEvent.CTRL_MASK));
          mnFile.add(mntmOpenFile);
  
          JMenuItem mntmOpenFolder = new JMenuItem("Open Folder...");
          mntmOpenFolder.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
                  InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK));
          mnFile.add(mntmOpenFolder);
  
          JSeparator fileSeparator1 = new JSeparator();
          mnFile.add(fileSeparator1);
  
          JMenuItem mntmQuit = new JMenuItem("Quit");
          mntmQuit.addMouseListener(new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent arg0) {
                  close();
              }
          });
          mntmQuit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
                  InputEvent.CTRL_MASK));
          mnFile.add(mntmQuit);
          setDefaultCloseOperation(DISPOSE_ON_CLOSE);
          pack();
  </code></pre>
  
  <p>And while I am here, the mntmQuit button does not do anything. I debugged it and it did not even run the mouseClicked event when I clicked on it.
  I am using java 1.6, WindowBuilder 1.2.0.r37, Eclipse Indigo, and any help would be appreciated!</p>