Example usage for com.jgoodies.forms.builder ButtonStackBuilder getPanel

List of usage examples for com.jgoodies.forms.builder ButtonStackBuilder getPanel

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder ButtonStackBuilder getPanel.

Prototype

public JPanel getPanel() 

Source Link

Document

Returns the panel used to build the form and lazily builds a focus traversal group for all contained AbstractButtons.

Usage

From source file:ca.sqlpower.architect.swingui.olap.OLAPSchemaManager.java

License:Open Source License

private JPanel createPanel() {
    FormLayout layout = new FormLayout("6dlu, fill:min(160dlu;default):grow, 6dlu, pref, 6dlu", // columns //$NON-NLS-1$
            " 6dlu,10dlu,6dlu,fill:min(180dlu;default):grow,10dlu"); // rows //$NON-NLS-1$

    layout.setColumnGroups(new int[][] { { 1, 3, 5 } });
    CellConstraints cc = new CellConstraints();

    PanelBuilder pb;//from  www  .j  a va2s  .  co m
    JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);
    pb = new PanelBuilder(layout, p);
    pb.setDefaultDialogBorder();

    pb.add(new JLabel("Available OLAP Schemas"), cc.xy(2, 2)); //$NON-NLS-1$

    TableModel tm = new SchemaTableModel(session.getOLAPRootObject());
    osessionTable = new JTable(tm);
    osessionTable.setTableHeader(null);
    osessionTable.setShowGrid(false);
    osessionTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    osessionTable.addMouseListener(new MouseAdapter() {
        public void mouseClicked(MouseEvent evt) {
            boolean enableActions = getSelectedOSession() != null;
            removeOLAPSchemaAction.setEnabled(enableActions);
            editOLAPSchemaAction.setEnabled(enableActions);
            exportSchemaAction.setEnabled(enableActions);

            if (evt.getClickCount() == 2) {
                editOLAPSchemaAction.actionPerformed(null);
            }
        }
    });

    JScrollPane sp = new JScrollPane(osessionTable);

    pb.add(sp, cc.xy(2, 4));

    ButtonStackBuilder bsb = new ButtonStackBuilder();

    JButton newOLAPSchemaButton = new JButton(new OLAPEditAction(session, null));
    newOLAPSchemaButton.setText("New...");
    bsb.addGridded(newOLAPSchemaButton);
    bsb.addRelatedGap();

    JButton importOLAPSchemaButton = new JButton(new ImportSchemaAction(session));
    importOLAPSchemaButton.setText("Import...");
    bsb.addGridded(importOLAPSchemaButton);
    bsb.addGridded(new JButton(exportSchemaAction));
    bsb.addRelatedGap();

    bsb.addGridded(new JButton(editOLAPSchemaAction));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(removeOLAPSchemaAction));

    removeOLAPSchemaAction.setEnabled(false);
    editOLAPSchemaAction.setEnabled(false);
    exportSchemaAction.setEnabled(false);

    bsb.addUnrelatedGap();
    bsb.addGridded(new JButton(closeAction));

    pb.add(bsb.getPanel(), cc.xy(4, 4));
    return pb.getPanel();

}

From source file:ca.sqlpower.matchmaker.swingui.MergeTableRuleEditor.java

License:Open Source License

private void buildUI() {

    FormLayout layout = new FormLayout(
            "4dlu,14dlu,4dlu,fill:min(pref;" + 3 * (new JComboBox().getMinimumSize().width)
                    + "px):grow, 4dlu,pref,4dlu", // columns
            "10dlu,pref,12dlu,pref,4dlu,fill:40dlu:grow,4dlu,pref,4dlu"); // rows
    //    1     2    3     4    5    6    7     8         9    10        

    PanelBuilder pb;// ww  w  .j a v a2  s  .  co m
    JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);
    pb = new PanelBuilder(layout, p);
    CellConstraints cc = new CellConstraints();

    int row = 2;
    pb.add(new JLabel("List of table merge rules:"), cc.xy(4, row));
    row += 2;

    pb.add(new JLabel("Merge Rules:"), cc.xy(4, row, "l,t"));
    row += 2;
    mergeRulesScrollPane = new JScrollPane(mergeRulesTable);
    pb.add(mergeRulesScrollPane, cc.xy(4, row, "f,f"));

    ButtonStackBuilder bsb = new ButtonStackBuilder();
    bsb.addGridded(new JButton(moveUp));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(moveDown));
    pb.add(bsb.getPanel(), cc.xy(6, row, "c,c"));

    ButtonBarBuilder bbb = new ButtonBarBuilder();
    //new actions for delete and save should be extracted and be put into its own file.
    bbb.addGridded(new JButton(new NewMergeRuleAction(swingSession, mmo)));
    bbb.addRelatedGap();
    bbb.addGridded(new JButton(new DeriveRelatedRulesAction(swingSession, mmo)));
    bbb.addRelatedGap();
    bbb.addGridded(new JButton(deleteRule));
    bbb.addRelatedGap();
    bbb.addGridded(new JButton(saveAction));
    row += 2;
    pb.add(bbb.getPanel(), cc.xy(4, row, "c,c"));
    panel = pb.getPanel();

    moveDown.setEnabled(false);
    moveUp.setEnabled(false);
    deleteRule.setEnabled(false);
}

From source file:ca.sqlpower.matchmaker.swingui.MungeProcessGroupEditor.java

License:Open Source License

private void buildUI() {
    FormLayout layout = new FormLayout(
            "4dlu,46dlu,4dlu,fill:min(pref;" + 3 * (new JComboBox().getMinimumSize().width)
                    + "px):grow,4dlu,pref,4dlu", // columns
            "10dlu,pref,4dlu,pref,4dlu,fill:40dlu:grow,4dlu,pref,10dlu"); // rows
    //      1     2   3    4     5   6     7   8     9    10   11

    PanelBuilder pb;//  w  w w  .  ja  v  a 2 s  . c  o  m
    JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);

    pb = new PanelBuilder(layout, p);
    CellConstraints cc = new CellConstraints();

    int row = 2;
    pb.add(status, cc.xy(4, row));

    row += 2;
    pb.add(new JLabel("Transformations:"), cc.xy(4, row, "l,t"));

    row += 2;
    scrollPane = new JScrollPane(mungeProcessTable);
    pb.add(scrollPane, cc.xy(4, row, "f,f"));

    ButtonStackBuilder bsb = new ButtonStackBuilder();
    bsb.addGridded(new JButton(moveUp));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(moveDown));
    pb.add(bsb.getPanel(), cc.xy(6, row, "c,c"));

    ButtonBarBuilder bbb = new ButtonBarBuilder();
    //new actions for delete and save should be extracted and be put into its own file.
    bbb.addGridded(new JButton(new NewMungeProcessAction(swingSession, project)));
    bbb.addRelatedGap();
    bbb.addGridded(new JButton(deleteAction));

    row += 2;
    pb.add(bbb.getPanel(), cc.xy(4, row, "c,c"));

    moveDown.setEnabled(false);
    moveUp.setEnabled(false);

    panel = pb.getPanel();
}

From source file:ca.sqlpower.matchmaker.swingui.TranslateWordsEditor.java

License:Open Source License

private void buildUI() {

    //This created the layout for the internal panel at the top wit
    //the lables and the text fields

    String txt = "fill:min(pref;" + (new JTextField().getMinimumSize().width) + "px):grow";
    FormLayout layout = new FormLayout(
            "4dlu,pref,4dlu," + txt + ",4dlu,pref,4dlu," + txt + ",4dlu,pref,4dlu,pref,4dlu", // columns
            "4dlu,pref,4dlu,pref,4dlu,pref,4dlu"); // rows
    //    1     2    3    4    5    6    7 

    PanelBuilder internalPB;//from   w w w . j  av  a  2s . co  m
    JPanel internalP = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);

    internalPB = new PanelBuilder(layout, internalP);
    CellConstraints cc = new CellConstraints();

    int row = 2;
    internalPB.add(status, cc.xy(4, row));

    row += 2;
    internalPB.add(new JLabel("Group Name:"), cc.xy(2, row, "r,t"));
    setGroupName();
    internalPB.add(groupName, cc.xy(4, row, "f,f"));

    row += 2;
    internalPB.add(new JLabel("From:"), cc.xy(2, row, "r,t"));
    internalPB.add(from, cc.xy(4, row, "f,f"));

    internalPB.add(new JLabel("To:"), cc.xy(6, row, "r,t"));
    internalPB.add(to, cc.xy(8, row, "f,f"));
    internalPB.add(new JButton(createWordsAction), cc.xy(10, row, "l,t"));

    //The layout for the external frame that houses the table and the button bars
    FormLayout bbLayout = new FormLayout(
            "4dlu,pref,50dlu,fill:min(pref;" + (new JComboBox().getMinimumSize().width)
                    + "px):grow, 4dlu,pref,4dlu", // columns
            "4dlu,pref,4dlu,fill:40dlu:grow,4dlu,pref,4dlu,pref,4dlu"); // rows
    //    1     2    3    4    5    6    7     8   9   

    PanelBuilder externalPB;
    JPanel externalP = logger.isDebugEnabled() ? new FormDebugPanel(bbLayout) : new JPanel(bbLayout);

    externalPB = new PanelBuilder(bbLayout, externalP);
    CellConstraints bbcc = new CellConstraints();

    row = 4;
    translateWordsScrollPane = new JScrollPane(translateWordsTable);
    externalPB.add(translateWordsScrollPane, bbcc.xy(4, row, "f,f"));

    ButtonStackBuilder bsb = new ButtonStackBuilder();
    bsb.addGridded(new JButton(moveTopAction));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(moveUpAction));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(moveDownAction));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(moveBottomAction));
    externalPB.add(bsb.getPanel(), bbcc.xy(6, row, "c,c"));

    row += 2;
    ButtonBarBuilder bbb = new ButtonBarBuilder();
    //new actions for delete and save should be extracted and be put into its own file.
    bbb.addGridded(new JButton(deleteWordsAction));
    bbb.addRelatedGap();
    bbb.addGridded(new JButton(saveGroupAction));

    externalPB.add(bbb.getPanel(), bbcc.xy(4, row, "c,c"));

    externalPB.add(internalPB.getPanel(), cc.xyw(2, 2, 4, "f,f"));

    MMODuplicateValidator mmoValidator = new MMODuplicateValidator(
            swingSession.getRootNode().getTranslateGroupParent(), null, "translate group name", 35, mmo);
    handler.addValidateObject(groupName, mmoValidator);
    TranslateWordValidator wordValidator = new TranslateWordValidator(translateWordsTable);
    handler.addValidateObject(translateWordsTable, wordValidator);

    panel = externalPB.getPanel();
}

From source file:ca.sqlpower.swingui.db.DatabaseConnectionManager.java

License:Open Source License

private JPanel createPanel(List<Action> additionalActions, List<JComponent> additionalComponents,
        boolean showCloseButton, String message) {

    FormLayout layout = new FormLayout("6dlu, fill:min(160dlu;default):grow, 6dlu, pref, 6dlu", // columns //$NON-NLS-1$
            " 6dlu,10dlu,6dlu,fill:min(180dlu;default):grow,10dlu"); // rows //$NON-NLS-1$

    layout.setColumnGroups(new int[][] { { 1, 3, 5 } });
    CellConstraints cc = new CellConstraints();

    PanelBuilder pb;// w w  w.j a  v  a2  s .  c o  m
    JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);
    pb = new PanelBuilder(layout, p);
    pb.setDefaultDialogBorder();

    pb.add(new JLabel(message), cc.xyw(2, 2, 3)); //$NON-NLS-1$

    TableModel tm = new ConnectionTableModel(dsCollection);
    dsTable = new EditableJTable(tm);
    dsTable.setTableHeader(null);
    dsTable.setShowGrid(false);
    dsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    dsTable.addMouseListener(new DSTableMouseListener());
    dsTable.setDefaultRenderer(SPDataSource.class, new ConnectionTableCellRenderer());

    JScrollPane sp = new JScrollPane(dsTable);
    sp.getViewport().setBackground(dsTable.getBackground());

    pb.add(sp, cc.xy(2, 4));

    ButtonStackBuilder bsb = new ButtonStackBuilder();

    JButton newButton = new JButton();
    AbstractAction newDatabaseConnectionAction = new NewConnectionAction(
            Messages.getString("DatabaseConnectionManager.newDbConnectionActionName"), newButton); //$NON-NLS-1$
    newButton.setAction(newDatabaseConnectionAction);
    bsb.addGridded(newButton);
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(editDatabaseConnectionAction));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(removeDatabaseConnectionAction));

    removeDatabaseConnectionAction.setEnabled(false);
    editDatabaseConnectionAction.setEnabled(false);

    bsb.addUnrelatedGap();
    JButton jdbcDriversButton = new JButton(jdbcDriversAction);
    bsb.addGridded(jdbcDriversButton);

    for (Action a : additionalActions) {
        bsb.addUnrelatedGap();
        JButton b = new JButton(a);
        Object disableValue = a.getValue(DISABLE_IF_NO_CONNECTION_SELECTED);
        if (disableValue instanceof Boolean && disableValue.equals(Boolean.TRUE)) {
            b.setEnabled(false);
        }

        Object heightValue = a.getValue(ADDITIONAL_BUTTON_HEIGHT);
        if (heightValue instanceof Integer) {
            b.setPreferredSize(new Dimension((int) b.getPreferredSize().getWidth(), (Integer) heightValue));
        }

        Object verticalTextPos = a.getValue(VERTICAL_TEXT_POSITION);
        if (verticalTextPos instanceof Integer) {
            Integer verticalTextInt = (Integer) verticalTextPos;
            if (verticalTextInt == SwingConstants.TOP || verticalTextInt == SwingConstants.BOTTOM
                    || verticalTextInt == SwingConstants.CENTER) {
                b.setVerticalTextPosition(verticalTextInt);
            }
        }

        Object horizontalTextPos = a.getValue(HORIZONTAL_TEXT_POSITION);
        if (horizontalTextPos instanceof Integer) {
            Integer horizontalTextInt = (Integer) horizontalTextPos;
            if (horizontalTextInt == SwingConstants.LEFT || horizontalTextInt == SwingConstants.RIGHT
                    || horizontalTextInt == SwingConstants.CENTER || horizontalTextInt == SwingConstants.LEADING
                    || horizontalTextInt == SwingConstants.TRAILING) {
                b.setHorizontalTextPosition(horizontalTextInt);
            }
        }

        additionalActionButtons.add(b);
        bsb.addFixed(b);
    }

    for (JComponent comp : additionalComponents) {
        bsb.addUnrelatedGap();
        bsb.addFixed(comp);
    }

    if (showCloseButton) {
        bsb.addUnrelatedGap();
        bsb.addGridded(new JButton(closeAction));
    }

    pb.add(bsb.getPanel(), cc.xy(4, 4));
    return pb.getPanel();

}

From source file:edu.ku.brc.ui.ListSlider.java

License:Open Source License

/**
 * @param sourceListModel/*from  w  w w. j  a  v a  2s. c  o  m*/
 * @param destListModel
 */
private void setupListComponents(DefaultListModel sourceListModel, DefaultListModel destListModel) {
    sourceList = new JList(sourceListModel);
    //if(cellRenderer!=null) sourceList.setCellRenderer(cellRenderer);
    sourceList.setSelectedIndex(0);
    sourceList.addListSelectionListener(new SourceListSelectionHandler());
    sourceList.setVisibleRowCount(5);

    JPanel sourcePanel = getListPanel(sourceList, sourceListTitle);

    destinationList = new JList(destListModel);
    //if(cellRenderer!=null)destinationList.setCellRenderer(cellRenderer);
    destinationList.setSelectedIndex(0);
    destinationList.addListSelectionListener(new DestinationListSelectionHandler());
    destinationList.setVisibleRowCount(5);

    JPanel destinationPanel = getListPanel(destinationList, destinationListTitle);

    addButton = UIHelper.createButton(addString);
    addAllButton = UIHelper.createButton(addAllString);
    removeButton = UIHelper.createButton(removeString);
    removeAllButton = UIHelper.createButton(removeAllString);

    AddListener addListener = new AddListener();
    addButton.addActionListener(addListener);
    addButton.setEnabled(true);
    addButton.setAlignmentX(Component.CENTER_ALIGNMENT);
    addButton.setMaximumSize(addButton.getPreferredSize());

    AddAllListener addAllListener = new AddAllListener();
    addAllButton.addActionListener(addAllListener);
    addAllButton.setEnabled(true);
    addAllButton.setAlignmentX(Component.CENTER_ALIGNMENT);
    addAllButton.setMaximumSize(addAllButton.getPreferredSize());

    RemoveListener removeListener = new RemoveListener();
    removeButton.addActionListener(removeListener);
    removeButton.setEnabled(false);
    removeButton.setAlignmentX(Component.CENTER_ALIGNMENT);
    removeButton.setMaximumSize(removeButton.getPreferredSize());

    RemoveAllListener removeAllListener = new RemoveAllListener();
    removeAllButton.addActionListener(removeAllListener);
    removeAllButton.setEnabled(true);
    removeAllButton.setAlignmentX(Component.CENTER_ALIGNMENT);
    removeAllButton.setMaximumSize(removeAllButton.getPreferredSize());

    ButtonStackBuilder builder = new ButtonStackBuilder();
    builder.addGridded(addAllButton);
    builder.addRelatedGap();
    builder.addGridded(addButton);
    builder.addRelatedGap();
    builder.addGridded(removeButton);
    builder.addRelatedGap();
    builder.addGridded(removeAllButton);
    JPanel buttonPanel = builder.getPanel();
    PanelBuilder panelBuilder;
    if (isGrowableList) {
        panelBuilder = new PanelBuilder(new FormLayout("f:d:g(0.5),  7dlu,  c:p,  7dlu,  f:d:g(0.5)",
                "f:pref:g(0.5),  pref,  f:pref:g(0.5)"), this);

    } else {
        panelBuilder = new PanelBuilder(new FormLayout("f:d,  7dlu,  c:p,  7dlu,  f:d", "t:d,  c:pref,  t:d"),
                this);
    }
    CellConstraints cc = new CellConstraints();
    panelBuilder.add(sourcePanel, cc.xywh(1, 1, 1, 3));
    panelBuilder.add(buttonPanel, cc.xy(3, 2));
    panelBuilder.add(destinationPanel, cc.xywh(5, 1, 1, 3));

    //cc.xy

}

From source file:edu.udo.scaffoldhunter.gui.datasetmanagement.ManageRulesetsDialog.java

License:Open Source License

/**
 * Initialises all GUI components//from   w w  w  .  jav a 2s . c o m
 */
private void initGUI() {
    FormLayout containerLayout;
    PanelBuilder containerBuilder;

    FormLayout leftLayout;
    PanelBuilder leftBuilder;

    FormLayout rightLayout;
    PanelBuilder rightBuilder;

    ButtonStackBuilder rulesetListButtons;
    ButtonStackBuilder ruleAddRemoveButtons;
    ButtonStackBuilder ruleUpDownButtons;

    CellConstraints cc = new CellConstraints();

    String listPrototypeElement = "____________________";
    int listsNumRows = 15;
    JComboBox ascendingChooser;

    setTitle(_("ManageRulesets.WindowTitle"));
    setLayout(new BorderLayout());
    setModal(true);

    container = new JPanel();
    add(container, BorderLayout.CENTER);

    containerLayout = new FormLayout("p, 2dlu, p:g(1.0)", "f:p:g(1.0), p");
    containerBuilder = new PanelBuilder(containerLayout, container);
    containerBuilder.setDefaultDialogBorder();

    leftContainer = new JPanel();
    leftContainer.setBorder(BorderFactory.createTitledBorder(_("ManageRulesets.Rulesets")));
    containerBuilder.add(leftContainer, cc.rc(1, 1));

    leftLayout = new FormLayout("p, 2dlu, p:g(1.0)", "f:p:g(1.0)");
    leftBuilder = new PanelBuilder(leftLayout, leftContainer);

    rulesets = new DefaultListModel();
    rulesetsList = new JList(rulesets);
    rulesetsList.setVisibleRowCount(listsNumRows);
    rulesetsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    rulesetsList.setPrototypeCellValue(listPrototypeElement);
    rulesetsList.addListSelectionListener(new RulesetsListSelectionListener());
    rulesetsListScroll = new JScrollPane(rulesetsList);
    leftBuilder.add(rulesetsListScroll, cc.rc(1, 1));

    newRulesetButton = new JButton(new NewRulesetAction());
    deleteRulesetButton = new JButton(new DeleteRulesetAction(this));
    rulesetListButtons = new ButtonStackBuilder();
    rulesetListButtons.addGridded(newRulesetButton);
    rulesetListButtons.addRelatedGap();
    rulesetListButtons.addGridded(deleteRulesetButton);
    leftBuilder.add(rulesetListButtons.getPanel(), cc.rc(1, 3));

    rightContainer = new JPanel();
    rightContainer.setBorder(BorderFactory.createTitledBorder(_("ManageRulesets.Ruleset")));
    containerBuilder.add(rightContainer, cc.rc(1, 3));

    rulesetTitle = new JTextField();
    rulesetTitleListener = new RulesetTitleDocumentListener();
    rulesetTitle.getDocument().addDocumentListener(rulesetTitleListener);
    defaultRulesetTitleBorder = rulesetTitle.getBorder();

    ruleSelection = new RuleSelectionListener();

    existingRules = new DefaultListModel();
    existingRulesList = new JList(existingRules);
    existingRulesList.setVisibleRowCount(listsNumRows);
    existingRulesList.setMinimumSize(new Dimension(120, 20));
    existingRulesList.addListSelectionListener(ruleSelection);
    existingRulesListScroll = new JScrollPane(existingRulesList);
    existingRulesListScroll.setMinimumSize(new Dimension(160, 20));
    existingRulesListScroll.setPreferredSize(new Dimension(160, 20));

    usedRules = new RulesetTableModel();
    usedRulesTable = new JTable(usedRules);
    usedRulesTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
    usedRulesTable.getSelectionModel().addListSelectionListener(ruleSelection);
    usedRulesTableScroll = new JScrollPane(usedRulesTable);
    usedRulesTableScroll.setPreferredSize(new Dimension(300, 200));

    ascendingChooser = new JComboBox();
    ascendingChooser.addItem(_("ManageRulesets.UsedRules.Ascending.True"));
    ascendingChooser.addItem(_("ManageRulesets.UsedRules.Ascending.False"));
    usedRulesTable.getColumnModel().getColumn(0).setPreferredWidth(150);
    usedRulesTable.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(ascendingChooser));
    usedRulesTable.getColumnModel().getColumn(1).getCellEditor()
            .addCellEditorListener(new CellEditorListener() {
                @Override
                public void editingStopped(ChangeEvent e) {
                    rulesetChanged();
                }

                @Override
                public void editingCanceled(ChangeEvent e) {
                    // do nothing
                }
            });

    usedRulesTable.getColumnModel().getColumn(1).setPreferredWidth(170);
    usedRulesTable.setRowHeight(ascendingChooser.getPreferredSize().height);
    usedRulesTable.getTableHeader().setReorderingAllowed(false);

    addRuleButton = new JButton(new AddRuleAction());
    removeRuleButton = new JButton(new RemoveRuleAction());
    ruleAddRemoveButtons = new ButtonStackBuilder();
    ruleAddRemoveButtons.addButton(addRuleButton, removeRuleButton);

    ruleUpButton = new JButton(new RuleUpAction());
    ruleDownButton = new JButton(new RuleDownAction());
    ruleUpDownButtons = new ButtonStackBuilder();
    ruleUpDownButtons.addButton(ruleUpButton, ruleDownButton);

    infoLabel = new JEditorPane();
    infoLabel.setContentType("text/html");
    infoLabel.setText(_("ManageRulesets.HelpNoSelection"));
    infoLabel.setEditable(false);
    infoLabel.setBackground(rightContainer.getBackground());
    infoLabel.setPreferredSize(new Dimension(30, 40));
    infoLabel.setMaximumSize(new Dimension(30, 40));
    infoLabel.addHyperlinkListener(new HyperlinkListener() {
        @Override
        public void hyperlinkUpdate(HyperlinkEvent e) {
            // if clicked, open url in browser
            if (e.getEventType() == EventType.ACTIVATED) {
                UrlOpener.browse(e.getURL());
            }
        }
    });
    saveButton = new JButton(new SaveAction());
    saveButton.setEnabled(false);

    rightLayout = new FormLayout("p, 2dlu, l:m, d, p:g, d, f:m", // 7 colums
            "t:p, 2dlu, p, d, f:p:g, d, p, d, f:p"); // 9 rows
    rightLayout.setColumnGroups(new int[][] { /* { 1, 5 }, */{ 2, 4, 6 } });
    rightLayout.setRowGroups(new int[][] { { 2, 4, 6, 8 } });

    rightBuilder = new PanelBuilder(rightLayout, rightContainer);

    rightBuilder.addLabel(_("ManageRulesets.RulesetLabel"), cc.rc(1, 1));
    rightBuilder.add(rulesetTitle, cc.rcw(1, 3, 5));

    rightBuilder.addLabel(_("ManageRulesets.ExistingRules"), cc.rc(3, 1));
    rightBuilder.add(existingRulesListScroll, cc.rc(5, 1));
    rightBuilder.add(ruleAddRemoveButtons.getPanel(), cc.rc(5, 3));

    rightBuilder.addLabel(_("ManageRulesets.UsedRules"), cc.rc(3, 5));
    rightBuilder.add(usedRulesTableScroll, cc.rc(5, 5));
    rightBuilder.add(ruleUpDownButtons.getPanel(), cc.rc(5, 7));

    rightBuilder.add(saveButton, cc.rchw(7, 7, 3, 1));

    rightBuilder.addLabel(_("ManageRulesets.Help"), cc.rc(7, 1));
    rightBuilder.add(infoLabel, cc.rcw(9, 1, 5));

    okButton = StandardButtonFactory.createCloseButton(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            confirmIfUnsavedChanges();
            dispose();
        }
    });
    getRootPane().setDefaultButton(okButton);
    containerBuilder.add(ButtonBarFactory.buildOKBar(okButton), cc.rcw(2, 1, 3));

    setRulesetEditingEnable(false, false);
}

From source file:jgnash.ui.account.AccountSecuritiesPanel.java

License:Open Source License

private JPanel layoutButtonStack() {
    ButtonStackBuilder builder = new ButtonStackBuilder();

    builder.addGridded(addButton);/*ww  w  . jav a2  s  .  c  om*/
    builder.addRelatedGap();
    builder.addGridded(removeButton);
    return builder.getPanel();
}

From source file:jgnash.ui.budget.BudgetManagerDialog.java

License:Open Source License

private void layoutMainPanel() {
    initComponents();//from  w ww .j av  a2  s .  co m

    // build the button stack
    ButtonStackBuilder buttonStackBuilder = new ButtonStackBuilder();
    buttonStackBuilder.addButton(newAutoButton, newButton, duplicateButton, renameButton);
    buttonStackBuilder.addUnrelatedGap();
    buttonStackBuilder.addButton(deleteButton);

    FormLayout layout = new FormLayout("p:g, $lcgap, f:p", "f:max(35dlu;p):g, $ugap, p");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);

    builder.setDefaultDialogBorder();

    CellConstraints cc = new CellConstraints();

    builder.add(new JScrollPane(budgetList), cc.xy(1, 1));
    builder.add(buttonStackBuilder.getPanel(), cc.xy(3, 1));
    builder.add(ButtonBarFactory.buildCloseBar(closeButton), cc.xyw(1, 3, 3));

    getContentPane().add(builder.getPanel(), BorderLayout.CENTER);

    pack();

    setMinimumSize(getSize());
}

From source file:loci.visbio.data.DataControls.java

License:Open Source License

/** Constructs a tool panel for adjusting data parameters. */
public DataControls(final LogicManager logic) {
    super(logic, "Data", "Controls for managing data");
    frameTable = new Hashtable();

    // list of data objects
    dataRoot = new DefaultMutableTreeNode("Data objects");
    dataModel = new DefaultTreeModel(dataRoot);
    dataTree = new JTree(dataModel);
    dataTree.setRootVisible(false);//from   www. j  ava2 s  .  c  om
    dataTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    dataTree.setVisibleRowCount(8);
    dataTree.addTreeSelectionListener(this);
    final JScrollPane treePane = new JScrollPane(dataTree);
    SwingUtil.configureScrollPane(treePane);

    // add data button
    final JButton addData = new JButton("Add >");
    addData.setActionCommand("addData");
    addData.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        addData.setMnemonic('a');
    addData.setToolTipText("Adds a new data object to the list");

    // display button
    display = new JButton("Display >");
    display.setActionCommand("display");
    display.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        display.setMnemonic('d');
    display.setToolTipText("Visualizes the selected data object");

    // controls button
    editData = new JButton("Edit");
    editData.setActionCommand("edit");
    editData.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        editData.setMnemonic('i');
    editData.setToolTipText("Shows controls for editing the selected data object");

    // export button
    export = new JButton("Export >");
    export.setActionCommand("export");
    export.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        export.setMnemonic('x');
    export.setToolTipText("Exports the selected data object");

    // remove data button
    removeData = new JButton("Remove");
    removeData.setActionCommand("removeData");
    removeData.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        removeData.setMnemonic('r');
    removeData.setToolTipText("Removes the selected data object from the list");

    // data information display panel
    dataInfo = new JEditorPane();
    dataInfo.setPreferredSize(new java.awt.Dimension(0, 0));
    dataInfo.setEditable(false);
    dataInfo.setContentType("text/html");
    dataInfo.setToolTipText("Reports information about the selected data object");
    final JScrollPane infoPane = new JScrollPane(dataInfo);
    SwingUtil.configureScrollPane(infoPane);

    doDataInfo(null);

    // new 2D display menu item
    display2D = new JMenuItem("New 2D display...");
    display2D.setMnemonic('2');
    display2D.setActionCommand("new2D");
    display2D.addActionListener(this);

    // new 3D display menu item
    display3D = new JMenuItem("New 3D display...");
    display3D.setMnemonic('3');
    display3D.setActionCommand("new3D");
    display3D.addActionListener(this);
    display3D.setEnabled(DisplayUtil.canDo3D());

    // export panes
    final VisBioFrame bio = lm.getVisBio();
    exporter = new ExportPane(bio);
    sender = new SendToIJPane(bio);

    // lay out buttons
    final ButtonStackBuilder bsb = new ButtonStackBuilder();
    bsb.addGridded(addData);
    bsb.addRelatedGap();
    bsb.addGridded(display);
    bsb.addRelatedGap();
    bsb.addGridded(editData);
    bsb.addRelatedGap();
    bsb.addGridded(export);
    bsb.addRelatedGap();
    bsb.addGridded(removeData);
    final JPanel buttons = bsb.getPanel();

    // lay out components
    final PanelBuilder builder = new PanelBuilder(
            new FormLayout("pref:grow, 3dlu, pref", "pref, 5dlu, fill:200:grow"));
    final CellConstraints cc = new CellConstraints();
    builder.add(treePane, cc.xy(1, 1));
    builder.add(buttons, cc.xy(3, 1));
    builder.add(infoPane, cc.xyw(1, 3, 3));
    add(builder.getPanel());

    // handle file drag and drop
    final BioDropHandler dropHandler = new BioDropHandler(bio);
    ((JComponent) bio.getContentPane()).setTransferHandler(dropHandler);
    dataTree.setTransferHandler(dropHandler);
    dataInfo.setTransferHandler(dropHandler);
}