Example usage for com.jgoodies.forms.layout CellConstraints rchw

List of usage examples for com.jgoodies.forms.layout CellConstraints rchw

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout CellConstraints rchw.

Prototype

public CellConstraints rchw(int row, int col, int rowSpan, int colSpan) 

Source Link

Document

Sets the row, column, height, and width; uses default alignments.

Examples:

 cc.rchw(1, 3, 2, 1); cc.rchw(1, 3, 7, 3); 

Usage

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

License:Open Source License

/**
 * Initialises all GUI components//  w  w w  .  j a v  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:edu.udo.scaffoldhunter.view.util.TooltipManager.java

License:Open Source License

private JPanel buildPanel(Structure structure) {
    tooltipPanel = new JPanel();
    FormLayout tooltipPanelLayout = new FormLayout("d, 2dlu, d:g", "d, 2dlu, t:d:g");
    PanelBuilder tooltipPanelBuilder = new PanelBuilder(tooltipPanelLayout, tooltipPanel);
    tooltipPanelBuilder.setDefaultDialogBorder();
    CellConstraints cc = new CellConstraints();

    tooltipPanelBuilder.add(new SizedSVGLabel(structure), cc.rc(1, 1));

    JComponent propertyComponent = buildPropertyPanel(structure);

    tooltipPanelBuilder.add(propertyComponent, cc.rchw(1, 3, 3, 1));

    CommentComponent commentComponent = new CommentComponent(db, structure, profile);

    // Textareas will be added to and removed from one of the
    // CommentComponents child panels
    // when that happens resize the dialog
    for (JPanel p : Iterables.filter(Arrays.asList(commentComponent.getComponents()), JPanel.class))
        p.addContainerListener(new ContainerListener() {

            @Override/*  ww  w  .  j  a v a 2s  .c o  m*/
            public void componentRemoved(ContainerEvent e) {
                tooltip.pack();
            }

            @Override
            public void componentAdded(ContainerEvent e) {
                tooltip.pack();
            }
        });
    tooltipPanelBuilder.add(commentComponent, cc.rcw(3, 1, 1));
    return tooltipPanel;
}