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

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

Introduction

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

Prototype

public ButtonStackBuilder() 

Source Link

Document

Constructs a ButtonStackBuilder on a default JPanel using a pre-configured FormLayout as layout manager.

Usage

From source file:ai.aitia.meme.utils.FormsUtils.java

License:Open Source License

/**
 * Example:<pre>// w  w  w. j  a  v a  2 s .c o m
 *    buttonStack( jMoveUpButton, jMoveDownButton, FormsUtils.BS_UNRELATED, 
 *                jRemoveButton, jEditButton ).getPanel()
 * </pre>
 */
public static ButtonStackBuilder buttonStack(Object... args) {
    ButtonStackBuilder ans = new ButtonStackBuilder();
    boolean addrel = false;
    for (int i = 0; i < args.length; ++i) {
        if (args[i] instanceof javax.swing.JComponent) {
            if (addrel)
                ans.addRelatedGap();
            ans.addGridded((javax.swing.JComponent) args[i]);
            addrel = true;
        } else if (BS_UNRELATED.equals(args[i])) {
            ans.addUnrelatedGap();
            addrel = false;
        } else if (BS_GLUE.equals(args[i])) {
            ans.addGlue();
            addrel = false;
        } else {
            ans.addStrut(Sizes.constant(args[i].toString(), false));
            addrel = false;
        }
    }
    return ans;
}

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;/*  w  ww .  j av 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("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;/*from   w w  w .j a v  a 2s.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  .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(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  a  v  a2  s . c  o 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;//from www.jav  a 2 s. com
    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/*w  ww .  j av  a2 s . co  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.  ja  va  2 s .co  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);/*from  www.  j a  va2s .  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();// ww  w . j  a v a  2 s.c om

    // 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());
}