mainSplitPane = new EmptyBorderSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftSplitPane, new JScrollPane(graphTabs));
mainSplitPane = new EmptyBorderSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftSplitPane, graphTabs);
  public WorkflowDesigner(Splash splash)  {    super(ResourceManager.getString("app.name"));    INSTANCE = this;    service = new DesignerService();    setJMenuBar(BarFactory.createMenubar(manager, service.getVerb()));    splash.setProgress(30);    navigator = new WorkspaceNavigator(this);    JScrollPane sp = new JScrollPane(detailPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);    detailFramePanel = new FramePanel(ResourceManager.getString("details"), false);    detailFramePanel.setContent(sp);    splash.setProgress(40);    loadPalette();    splash.setProgress(50);    // create workspace view    FramePanel flowsPanel = new FramePanel(ResourceManager.getString("workspace"), false);    flowsPanel.setContent(new JScrollPane(navigator));    // layout    leftSplitPane = new EmptyBorderSplitPane(JSplitPane.VERTICAL_SPLIT, flowsPanel, detailFramePanel);    mainSplitPane = new EmptyBorderSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftSplitPane, new JScrollPane(graphTabs));    graphTabs.setVisible(false);    mainSplitPane.setDividerLocation(Prefs.INSTANCE.getInt(Prefs.MAIN_DIVIDER_LOCATION, 150));    leftSplitPane.setDividerLocation(Prefs.INSTANCE.getInt(Prefs.DETAIL_DIVIDER_LOCATION, 50));    splash.setProgress(60);    //Provide a preferred size for the split pane    String bounds = Prefs.INSTANCE.get(Prefs.DESIGNER_BOUNDS, "100, 100, 800, 600");    StringTokenizer tok = new StringTokenizer(bounds, ",");    int x = Integer.parseInt(tok.nextToken().trim());    int y = Integer.parseInt(tok.nextToken().trim());    int w = Integer.parseInt(tok.nextToken().trim());    int h = Integer.parseInt(tok.nextToken().trim());    setLocation(x, y);    getContentPane().setLayout(new BorderLayout());    getContentPane().add(BarFactory.createToolbar(), BorderLayout.NORTH);    splash.setProgress(65);    getContentPane().add(mainSplitPane, BorderLayout.CENTER);    statusBar = BarFactory.createStatusBar();    getContentPane().add(statusBar, BorderLayout.SOUTH);    splash.setProgress(70);    mainSplitPane.setPreferredSize(new Dimension(w, h));    addWindowListener(new WindowAdapter()    {      public void windowClosing(WindowEvent evt)      {        quit();      }    });    if("new".equals(service.getVerb()))    {      newRemoteWorkspace();    }    else if("modify".equals(service.getVerb()))    {      newRemoteWorkspace();      openRemoteWorkspace();    }    else    {      String lastOpened = Prefs.INSTANCE.get(Prefs.LAST_WORKSPACE, null);      if(lastOpened != null)      {        try        {          if(lastOpened.indexOf(":/") == -1)          {            openWorkspace(new File(lastOpened).toURL());          }          else          {            openWorkspace(new URL(lastOpened));          }        }        catch(MalformedURLException e)        {          e.printStackTrace();        }        String workflow = Prefs.INSTANCE.get(Prefs.WORKFLOW_CURRENT, null);        if(workflow != null)        {          navigator.selectWorkflow(workflow);        }      }    }  }