Example usage for java.awt FlowLayout LEFT

List of usage examples for java.awt FlowLayout LEFT

Introduction

In this page you can find the example usage for java.awt FlowLayout LEFT.

Prototype

int LEFT

To view the source code for java.awt FlowLayout LEFT.

Click Source Link

Document

This value indicates that each row of components should be left-justified.

Usage

From source file:ru.medved.json.wssoap.WebServiceSamplerGui.java

private final JPanel createTopPanel() {
    JPanel topPanel = new JPanel();
    topPanel.setLayout(new VerticalLayout(5, VerticalLayout.BOTH));

    JPanel wsdlHelper = new JPanel();
    wsdlHelper.setLayout(new BoxLayout(wsdlHelper, BoxLayout.Y_AXIS));
    wsdlHelper.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
            JMeterUtils.getResString("webservice_configuration_wizard"))); // $NON-NLS-1$

    // Button for browsing webservice wsdl
    JPanel wsdlEntry = new JPanel();
    wsdlEntry.setLayout(new BoxLayout(wsdlEntry, BoxLayout.X_AXIS));
    Border margin = new EmptyBorder(0, 5, 0, 5);
    wsdlEntry.setBorder(margin);//from   w w  w . j a v  a2s  .  c om
    wsdlHelper.add(wsdlEntry);
    wsdlEntry.add(wsdlField);
    wsdlEntry.add(wsdlButton);
    wsdlButton.addActionListener(this);

    // Web Methods
    JPanel listPanel = new JPanel();
    listPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
    JLabel selectLabel = new JLabel(JMeterUtils.getResString("webservice_methods")); // $NON-NLS-1$
    wsdlMethods = new JLabeledChoice();
    wsdlHelper.add(listPanel);
    listPanel.add(selectLabel);
    listPanel.add(wsdlMethods);
    listPanel.add(selectButton);
    selectButton.addActionListener(this);

    topPanel.add(wsdlHelper);

    JPanel urlPane = new JPanel();
    urlPane.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
    urlPane.add(protocol);
    urlPane.add(Box.createRigidArea(new Dimension(5, 0)));
    urlPane.add(domain);
    urlPane.add(Box.createRigidArea(new Dimension(5, 0)));
    urlPane.add(port);
    urlPane.add(Box.createRigidArea(new Dimension(5, 0)));
    urlPane.add(connectTimeout);
    topPanel.add(urlPane);

    topPanel.add(path);
    topPanel.add(soapAction);

    topPanel.add(jsonConfigFile);
    topPanel.add(configSection);
    return topPanel;
}

From source file:com.accenture.assets.ui.dialogs.panels.NewProjectConfigurationDialogPanel.java

/**
 * /*from   ww w . j a v  a 2  s.  c o  m*/
 * @return
 */
private JPanel getGroupIdPanel() {
    if (groupIdPanel == null) {
        groupIdPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
        groupIdPanel.add(getGroupIdLabel());
        groupIdPanel.add(getGroupIdInput());
        groupIdPanel.setName("groupIdPanel");
    }
    return groupIdPanel;
}

From source file:com.accenture.assets.ui.dialogs.panels.NewProjectConfigurationDialogPanel.java

/**
 * //from ww  w.j av  a2 s  .  com
 * @return
 */
private JPanel getArtifactIdPanel() {
    if (artifactIdPanel == null) {
        artifactIdPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
        artifactIdPanel.add(getArtifactIdLabel());
        artifactIdPanel.add(getArtifactIdInput());
        artifactIdPanel.setName("artifactIdPanel");
    }
    return artifactIdPanel;
}

From source file:es.emergya.ui.gis.popups.ConsultaHistoricos.java

private JPanel getCabecera() {
    JPanel cabecera = new JPanel(new FlowLayout(FlowLayout.LEFT));
    cabecera.setOpaque(false);/*  ww  w.  j av a2s . c  o  m*/
    JLabel titulo = new JLabel("Consulta de Posiciones GPS en el Histrico");
    titulo.setFont(LogicConstants.deriveBoldFont(12.0f));
    titulo.setIcon(LogicConstants.getIcon("tittleventana_icon_consultahistorico"));
    cabecera.add(titulo);
    return cabecera;
}

From source file:org.apache.cayenne.modeler.CayenneModelerFrame.java

protected void initStatusBar() {
    status = new JLabel();
    status.setFont(status.getFont().deriveFont(Font.PLAIN, 10));

    splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
    splitPane.getInsets().left = 5;/*from   www .  j av  a2  s .c  o m*/
    splitPane.getInsets().right = 5;

    splitPane.setResizeWeight(0.7);

    /**
     * Moving this to try-catch block per CAY-940. Exception will be stack-traced
     */
    try {
        ComponentGeometry geometry = new ComponentGeometry(this.getClass(), "splitPane/divider");
        geometry.bindIntProperty(splitPane, JSplitPane.DIVIDER_LOCATION_PROPERTY, 400);
    } catch (Exception ex) {
        LogFactory.getLog(getClass()).error("Cannot bind divider property", ex);
    }

    JPanel statusBar = new JPanel(new FlowLayout(FlowLayout.LEFT, 3, 1));
    // add placeholder
    statusBar.add(Box.createVerticalStrut(16));
    statusBar.add(status);

    getContentPane().add(splitPane, BorderLayout.CENTER);
    getContentPane().add(statusBar, BorderLayout.SOUTH);
}

From source file:org.apache.jmeter.protocol.http.gui.HTTPFileArgsPanel.java

/**
 * Create a panel containing the title label for the table.
 * @return a panel containing the title label
 *///  w w  w  .jav a2 s. c o m
@Deprecated
private Component makeLabelPanel() {
    JPanel labelPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    labelPanel.add(tableLabel);
    return labelPanel;
}

From source file:de.juwimm.cms.content.panel.PanDocuments.java

private void jbInit() throws Exception {
    mimeType = "";
    btnDelete.setText("Datei lschen");
    panBottom.setLayout(new BorderLayout());
    panDocumentButtons.setLayout(panDocumentsLayout);
    btnAdd.setText("Datei hinzufgen");
    lbLinkDescription.setText(" Linkbeschreibung  ");
    this.setLayout(new BorderLayout());
    panLinkName.setLayout(panLinkNameLayout);
    panDocumentsLayout.setAlignment(FlowLayout.LEFT);
    panDocumentButtons.setBackground(SystemColor.text);
    this.add(panBottom, BorderLayout.SOUTH);
    panBottom.add(panFileAction, BorderLayout.EAST);
    panFileAction.add(btnUpdate, null);/*from w  w w  . j a v a 2  s.  c  om*/
    panFileAction.add(btnAdd, null);
    panFileAction.add(btnDelete, null);
    panFileAction.add(btnPreview, null);
    panBottom.add(panLinkName, BorderLayout.NORTH);
    panLinkName.add(lbLinkDescription, new GridBagConstraints(0, 0, 1, 1, 0, 0,
            GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
    panLinkName.add(txtLinkDesc, new GridBagConstraints(1, 0, 1, 1, 1, 0, GridBagConstraints.BASELINE_LEADING,
            GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
    if (showDocumentProperties) {
        panLinkName.add(lbDocumentLabel, new GridBagConstraints(0, 1, 1, 1, 0, 0,
                GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(txtDocumentLabel, new GridBagConstraints(1, 1, 1, 1, 1, 0,
                GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(lbDocumentDescription, new GridBagConstraints(0, 2, 1, 1, 0, 0,
                GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(txtDocumentDescription, new GridBagConstraints(1, 2, 1, 1, 1, 0,
                GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(lbAuthor, new GridBagConstraints(0, 3, 1, 1, 0, 0, GridBagConstraints.BASELINE_LEADING,
                GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(txtAuthor, new GridBagConstraints(1, 3, 1, 1, 1, 0, GridBagConstraints.BASELINE_LEADING,
                GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(lbCategory, new GridBagConstraints(0, 4, 1, 1, 0, 0,
                GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(txtCategory, new GridBagConstraints(1, 4, 1, 1, 1, 0,
                GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
        panLinkName.add(ckbDocumentSearchable, new GridBagConstraints(0, 5, 2, 1, 1, 1,
                GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
    }
    panBottom.add(cbxDisplayTypeInline, BorderLayout.WEST);
    this.add(scrollPane, BorderLayout.CENTER);
    if (showRegionCombo) {
        this.add(cboRegion, BorderLayout.NORTH);
    }

    this.add(getViewSelectPan(), BorderLayout.WEST);
    scrollPane.getViewport().add(tblDocuments, null);
    scrollPane.setTransferHandler(new FileTransferHandler(this));
}

From source file:com.accenture.assets.ui.dialogs.panels.NewProjectConfigurationDialogPanel.java

/**
 * /*  w  ww .  j  a v a2 s.com*/
 * @return
 */
private JPanel getVersionPanel() {
    if (versionPanel == null) {
        versionPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
        versionPanel.add(getVersionLabel());
        versionPanel.add(getVersionInput());
        versionPanel.setName("versionPanel");
    }
    return versionPanel;
}

From source file:org.interreg.docexplore.GeneralConfigPanel.java

public GeneralConfigPanel(final File config) throws Exception {
    this.configFile = config;

    final String xml = config.exists() ? StringUtils.readFile(config) : "<config></config>";
    setLayout(new LooseGridLayout(0, 1, 5, 5, true, true, SwingConstants.LEFT, SwingConstants.TOP));

    //      JPanel ac = new JPanel(new LooseGridLayout(0, 1, 5, 5, false, true, SwingConstants.LEFT, SwingConstants.TOP));
    //      ac.setBorder(BorderFactory.createTitledBorder(XMLResourceBundle.getBundledString("cfgACLabel")));
    //      ac.add(useAutoConnect = new JCheckBox(XMLResourceBundle.getBundledString("cfgUseACLabel")));
    //      JPanel typePanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    //      typePanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgTypeLabel")));
    //      typePanel.add(autoConnectType = new JComboBox(new Object [] {XMLResourceBundle.getBundledString("cfgFileLabel"), XMLResourceBundle.getBundledString("cfgMysqlLabel")}));
    //      ac.add(typePanel);
    //      ac.add(autoConnectSubPanel = new JPanel(new BorderLayout()));
    //      //  w  w  w .  ja v  a2s .c  om
    //      fsSubPanel = new JPanel(new LooseGridLayout(0, 2, 5, 5, false, true, SwingConstants.LEFT, SwingConstants.TOP));
    //      fsSubPanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgPathLabel"))); fsSubPanel.add(acFSPath = new JTextField(40));
    //      
    //      dbSubPanel = new JPanel(new LooseGridLayout(0, 2, 5, 5, false, true, SwingConstants.LEFT, SwingConstants.TOP));
    //      dbSubPanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgPathLabel"))); dbSubPanel.add(acDBPath = new JTextField(40));
    //      dbSubPanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgHostLabel"))); dbSubPanel.add(acDBHost = new JTextField(40));
    //      dbSubPanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgDBLabel"))); dbSubPanel.add(acDBDatabase = new JTextField(40));
    //      dbSubPanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgUserLabel"))); dbSubPanel.add(acDBUser = new JTextField(40));
    //      dbSubPanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgPasswordLabel"))); dbSubPanel.add(acDBPassword = new JTextField(40));
    //      
    //      Set<ConnectionHandler.PastConnection> cons = new ConnectionHandler().connections;
    //      if (cons != null)
    //      {
    //         Vector<Object> recentCons = new Vector<Object>();
    //         for (ConnectionHandler.PastConnection con : cons)
    //            if (con.source instanceof DataLinkMySQLSource || con.source instanceof DataLinkFS2Source)
    //               recentCons.add(con);
    //         
    //         if (!recentCons.isEmpty())
    //         {
    //            recentCons.insertElementAt(XMLResourceBundle.getBundledString("cfgCurrentLabel"), 0);
    //            JPanel recentPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    //            recentPanel.add(new JLabel(XMLResourceBundle.getBundledString("cfgRecentLabel")));
    //            JComboBox recentBox = new JComboBox(recentCons);
    //            recentPanel.add(recentBox);
    //            ac.add(recentPanel);
    //            
    //            recentBox.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e)
    //            {
    //               if (e.getStateChange() != ItemEvent.SELECTED)
    //                  return;
    //               if (e.getItem().equals(XMLResourceBundle.getBundledString("cfgCurrentLabel")))
    //                  fillAutoConnect(xml);
    //               else fillAutoConnect((ConnectionHandler.PastConnection)e.getItem());
    //            }});
    //         }
    //      }

    JPanel display = new JPanel(
            new LooseGridLayout(0, 1, 5, 5, false, true, SwingConstants.LEFT, SwingConstants.TOP));
    display.setBorder(BorderFactory.createTitledBorder(XMLResourceBundle.getBundledString("cfgDisplayLabel")));
    JPanel displayDims = new JPanel(
            new LooseGridLayout(0, 2, 5, 5, false, true, SwingConstants.LEFT, SwingConstants.TOP));
    displayDims.add(new JLabel(XMLResourceBundle.getBundledString("cfgWidthLabel")));
    displayDims.add(displayWidth = new JTextField(5));
    displayDims.add(new JLabel(XMLResourceBundle.getBundledString("cfgHeightLabel")));
    displayDims.add(displayHeight = new JTextField(5));
    displayDims.add(new JLabel(XMLResourceBundle.getBundledString("cfgLanguageLabel")));
    displayDims.add(
            displayLang = new JComboBox(new Object[] { XMLResourceBundle.getBundledString("cfgEnglishLabel"),
                    XMLResourceBundle.getBundledString("cfgFrenchLabel") }));
    display.add(displayHelp = new JCheckBox(XMLResourceBundle.getBundledString("cfgHelpLabel")));
    display.add(displayFullscreen = new JCheckBox(XMLResourceBundle.getBundledString("cfgFullscreenLabel")));
    display.add(displayNativeCursor = new JCheckBox(XMLResourceBundle.getBundledString("cfgUseCursorLabel")));
    display.add(displayDims);

    JPanel topPluginsPanel = new JPanel(
            new LooseGridLayout(0, 1, 5, 5, true, true, SwingConstants.LEFT, SwingConstants.TOP));
    topPluginsPanel
            .setBorder(BorderFactory.createTitledBorder(XMLResourceBundle.getBundledString("cfgPluginsLabel")));
    pluginsPanel = new JPanel(
            new LooseGridLayout(0, 1, 5, 5, true, false, SwingConstants.LEFT, SwingConstants.TOP, true, false));
    JScrollPane scrollPane = new JScrollPane(pluginsPanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    scrollPane.setPreferredSize(new Dimension(500, 300));
    scrollPane.getVerticalScrollBar().setUnitIncrement(10);
    topPluginsPanel.add(scrollPane);

    JPanel addPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    addPanel.add(new JButton(new AbstractAction(XMLResourceBundle.getBundledString("cfgAddPluginLabel")) {
        public void actionPerformed(ActionEvent e) {
            try {
                JOptionPane.showMessageDialog(GeneralConfigPanel.this,
                        XMLResourceBundle.getBundledString("cfgAddPluginMessage").replace("%pdir",
                                DocExploreTool.getPluginDir().getAbsolutePath()));
                if (System.getProperty("os.name").toLowerCase().contains("win"))
                    Runtime.getRuntime()
                            .exec(new String[] { "explorer", DocExploreTool.getPluginDir().getAbsolutePath() });
                else if (System.getProperty("os.name").toLowerCase().contains("mac"))
                    Runtime.getRuntime()
                            .exec(new String[] { "open", DocExploreTool.getPluginDir().getAbsolutePath() });
            } catch (Exception ex) {
                ErrorHandler.defaultHandler.submit(ex);
            }
            //         File jarFile = browsePlugins();
            //         if (jarFile == null)
            //            return;
            //         PluginPanel pluginPanel = new PluginPanel(GeneralConfigPanel.this, "yes", jarFile.getName(), "");
            //         pluginPanels.add(pluginPanel);
            //         pluginsPanel.add(pluginPanel);
            //         ((Window)getTopLevelAncestor()).pack();
        }
    }));
    addPanel.add(new JButton(new AbstractAction(XMLResourceBundle.getBundledString("cfgRefreshPluginsLabel")) {
        public void actionPerformed(ActionEvent e) {
            refreshPlugins(xml);
            ((Window) getTopLevelAncestor()).pack();
        }
    }));
    topPluginsPanel.add(addPanel);

    //      setAutoConnectSubPanel(fsSubPanel);

    //      add(ac);
    add(display);
    add(topPluginsPanel);

    add(safeMode = new JCheckBox(XMLResourceBundle.getBundledString("cfgSafeModeLabel")));

    //      autoConnectType.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e)
    //      {
    //         if (e.getStateChange() != ItemEvent.SELECTED)
    //            return;
    //         if (e.getItem().equals(XMLResourceBundle.getBundledString("cfgFileLabel")))
    //            setAutoConnectSubPanel(fsSubPanel);
    //         else setAutoConnectSubPanel(dbSubPanel);
    //         Window top = (Window)getTopLevelAncestor();
    //         if (top != null)
    //            top.pack();
    //      }});

    if (xml != null)
        fill(xml);
}

From source file:org.eobjects.datacleaner.panels.WelcomePanel.java

@Inject
protected WelcomePanel(AnalyzerBeansConfiguration configuration,
        AnalysisJobBuilderWindow analysisJobBuilderWindow, DCGlassPane glassPane,
        Provider<OptionsDialog> optionsDialogProvider, InjectorBuilder injectorBuilder,
        OpenAnalysisJobActionListener openAnalysisJobActionListener,
        DatabaseDriverCatalog databaseDriverCatalog, UserPreferences userPreferences) {
    super();/*from w ww . j a va 2  s  .  c o m*/
    _openAnalysisJobActionListener = openAnalysisJobActionListener;
    _configuration = configuration;
    _datastorePanels = new ArrayList<DatastorePanel>();
    _datastoreCatalog = (MutableDatastoreCatalog) configuration.getDatastoreCatalog();
    _analysisJobBuilderWindow = analysisJobBuilderWindow;
    _glassPane = glassPane;
    _optionsDialogProvider = optionsDialogProvider;
    _injectorBuilder = injectorBuilder;
    _databaseDriverCatalog = databaseDriverCatalog;
    _userPreferences = userPreferences;

    _browseJobsButton = new JButton("Browse jobs",
            imageManager.getImageIcon(IconUtils.MENU_OPEN, IconUtils.ICON_SIZE_SMALL));
    _browseJobsButton.setMargin(new Insets(1, 1, 1, 4));
    _browseJobsButton.addActionListener(openAnalysisJobActionListener);

    // initialize "analyze" button
    _analyzeButton = new JButton("Build job",
            imageManager.getImageIcon(IconUtils.MODEL_JOB, IconUtils.ICON_SIZE_SMALL));
    _analyzeButton.setMargin(new Insets(1, 1, 1, 1));
    _analyzeButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            for (DatastorePanel datastorePanel : _datastorePanels) {
                if (datastorePanel.isSelected()) {
                    Datastore datastore = datastorePanel.getDatastore();

                    // open the connection here, to make any connection
                    // issues apparent early
                    try (DatastoreConnection datastoreConnection = datastore.openConnection()) {
                        datastoreConnection.getDataContext().getSchemaNames();
                        _analysisJobBuilderWindow.setDatastore(datastore);
                    }
                    return;
                }
            }
        }
    });

    // initialize search text field
    _searchDatastoreTextField = WidgetFactory.createTextField("Search/filter datastores");
    _searchDatastoreTextField
            .setBorder(new CompoundBorder(new EmptyBorder(4, 0, 0, 0), WidgetUtils.BORDER_THIN));
    _searchDatastoreTextField.setOpaque(false);
    _searchDatastoreTextField.getDocument().addDocumentListener(new DCDocumentListener() {
        @Override
        protected void onChange(DocumentEvent event) {
            String text = _searchDatastoreTextField.getText();
            if (StringUtils.isNullOrEmpty(text)) {
                // when there is no search query, set all datastores
                // visible
                for (DatastorePanel datastorePanel : _datastorePanels) {
                    datastorePanel.setVisible(true);
                }
            } else {
                // do a case insensitive search
                text = text.trim().toLowerCase();
                for (DatastorePanel datastorePanel : _datastorePanels) {
                    String name = datastorePanel.getDatastore().getName().toLowerCase();
                    datastorePanel.setVisible(name.indexOf(text) != -1);
                }
                selectFirstVisibleDatastore();
            }
        }
    });
    _searchDatastoreTextField.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                clickAnalyzeButton();
            } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
                selectNextVisibleDatastore();
            } else if (e.getKeyCode() == KeyEvent.VK_UP) {
                selectPreviousVisibleDatastore();
            }
        }
    });

    setLayout(new VerticalLayout(4));

    add(Box.createVerticalStrut(10));

    final DCLabel jobsHeaderLabel = DCLabel.dark("Jobs");
    jobsHeaderLabel.setFont(WidgetUtils.FONT_HEADER1);
    add(jobsHeaderLabel);

    _jobsListPanel = new DCPanel();
    final GridLayout jobsListLayout = new GridLayout(1, MAX_JOB_PANELS);
    jobsListLayout.setHgap(10);
    _jobsListPanel.setBorder(new EmptyBorder(10, 10, 4, 0));
    _jobsListPanel.setLayout(jobsListLayout);

    final List<FileObject> recentJobFiles = getRecentJobFiles();

    updateJobsListPanel(recentJobFiles);

    add(_jobsListPanel);

    _moreRecentJobsButton = new JButton("More",
            imageManager.getImageIcon(IconUtils.FILE_FOLDER, IconUtils.ICON_SIZE_SMALL));
    _moreRecentJobsButton.setMargin(new Insets(1, 1, 1, 4));
    if (recentJobFiles.size() <= MAX_JOB_PANELS) {
        _moreRecentJobsButton.setEnabled(false);
    } else {
        _moreRecentJobsButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                final JPopupMenu popup = new JPopupMenu();
                for (int i = 3; i < recentJobFiles.size(); i++) {
                    final FileObject jobFile = recentJobFiles.get(i);
                    final JMenuItem menuItem = new OpenAnalysisJobMenuItem(jobFile,
                            _openAnalysisJobActionListener);
                    popup.add(menuItem);
                }
                popup.show(_moreRecentJobsButton, 0, _moreRecentJobsButton.getHeight());
            }
        });
    }

    final DCPanel jobsButtonPanel = new DCPanel();
    jobsButtonPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 0));
    jobsButtonPanel.add(_moreRecentJobsButton);
    jobsButtonPanel.add(_browseJobsButton);
    add(jobsButtonPanel);

    add(Box.createVerticalStrut(40));

    final DCLabel datastoreHeaderLabel = DCLabel.dark("Datastores");
    datastoreHeaderLabel.setFont(WidgetUtils.FONT_HEADER1);
    add(datastoreHeaderLabel);

    final DCLabel registerNewDatastoreLabel = DCLabel.dark("Register new:");
    registerNewDatastoreLabel.setFont(WidgetUtils.FONT_HEADER2);

    final DCPanel newDatastorePanel = new DCPanel();
    newDatastorePanel.setLayout(new VerticalLayout(4));
    newDatastorePanel.setBorder(new EmptyBorder(10, 10, 10, 0));
    newDatastorePanel.add(registerNewDatastoreLabel);
    newDatastorePanel.add(createNewDatastorePanel());

    add(newDatastorePanel);

    _datastoreListPanel = new DCPanel();
    _datastoreListPanel.setLayout(new VerticalLayout(4));
    _datastoreListPanel.setBorder(new EmptyBorder(10, 10, 4, 0));
    add(_datastoreListPanel);
    updateDatastores();

    final DCPanel datastoresButtonPanel = new DCPanel();
    datastoresButtonPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
    datastoresButtonPanel.setBorder(new EmptyBorder(0, 10, 0, 0));
    datastoresButtonPanel.add(_analyzeButton);
    add(datastoresButtonPanel);
}