Example usage for java.awt Container getPreferredSize

List of usage examples for java.awt Container getPreferredSize

Introduction

In this page you can find the example usage for java.awt Container getPreferredSize.

Prototype

public Dimension getPreferredSize() 

Source Link

Document

Returns the preferred size of this container.

Usage

From source file:Main.java

/**
 * Aligns the first <code>rows</code> <code>cols</code> components of <code>parent</code> in a grid. Each component in
 * a column is as wide as the maximum preferred width of the components in that column; height is similarly determined
 * for each row. The parent is made just big enough to fit them all.
 * /*from w  w w .  ja va 2s  .c om*/
 * @param rows
 *          number of rows
 * @param cols
 *          number of columns
 * @param initialX
 *          x location to start the grid at
 * @param initialY
 *          y location to start the grid at
 * @param xPad
 *          x padding between cells
 * @param yPad
 *          y padding between cells
 */
public static void makeCompactGrid(Container parent, int rows, int cols, int initialX, int initialY, int xPad,
        int yPad) {

    parent.setMaximumSize(new Dimension(Integer.MAX_VALUE, parent.getPreferredSize().height));
    SpringLayout layout;
    try {
        layout = (SpringLayout) parent.getLayout();
    } catch (ClassCastException exc) {
        System.err.println("The first argument to makeCompactGrid must use SpringLayout.");
        return;
    }

    // Align all cells in each column and make them the same width.
    Spring x = Spring.constant(initialX);
    for (int c = 0; c < cols; c++) {
        Spring width = Spring.constant(0);
        for (int r = 0; r < rows; r++) {
            width = Spring.max(width, getConstraintsForCell(r, c, parent, cols).getWidth());
        }
        for (int r = 0; r < rows; r++) {
            SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols);
            constraints.setX(x);
            constraints.setWidth(width);
        }
        x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad)));
    }

    // Align all cells in each row and make them the same height.
    Spring y = Spring.constant(initialY);
    for (int r = 0; r < rows; r++) {
        Spring height = Spring.constant(0);
        for (int c = 0; c < cols; c++) {
            height = Spring.max(height, getConstraintsForCell(r, c, parent, cols).getHeight());
        }
        for (int c = 0; c < cols; c++) {
            SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols);
            constraints.setY(y);
            constraints.setHeight(height);
        }
        y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad)));
    }

    // Set the parent's size.
    SpringLayout.Constraints pCons = layout.getConstraints(parent);
    pCons.setConstraint(SpringLayout.SOUTH, y);
    pCons.setConstraint(SpringLayout.EAST, x);

}

From source file:org.fhcrc.cpl.viewer.gui.ProteinMatcherFrame.java

/**
 * initial setup of UI and class variables
 *///  w ww.  j av a 2  s. c  om
public void initialize() {
    _ms1Features = getMS1Features();
    if (_ms1Features == null) {
        ApplicationContext.infoMessage(TextProvider.getText("AMT_REQUIRES_DISPLAYED_FEATURES"));
        this.setVisible(false);
        this.dispose();
        return;
    }
    this.setVisible(true);

    //graphical stuff
    try {
        JMenuBar jmenu = (JMenuBar) Localizer.getSwingEngine(this)
                .render("org/fhcrc/cpl/viewer/gui/ProteinMatcherMenu.xml");
        for (int i = 0; i < jmenu.getMenuCount(); i++)
            jmenu.getMenu(i).getPopupMenu().setLightWeightPopupEnabled(false);
        this.setJMenuBar(jmenu);
    } catch (Exception x) {
        ApplicationContext.errorMessage(TextProvider.getText("ERROR_LOADING_MENUS"), x);
        throw new RuntimeException(x);
    }

    Container contentPanel;
    try {
        contentPanel = Localizer.renderSwixml("org/fhcrc/cpl/viewer/gui/ProteinMatcherFrame.xml", this);
        setContentPane(contentPanel);
        pack();
    } catch (Exception x) {
        ApplicationContext.errorMessage(TextProvider.getText("ERROR_CREATING_DIALOG"), x);
        throw new RuntimeException(x);
    }

    Dimension d = contentPanel.getPreferredSize();
    setBounds(600, 100, (int) d.getWidth(), (int) d.getHeight());

    ListenerHelper helper = new ListenerHelper(this);
    helper.addListener(tblProteins.getSelectionModel(), "tblProteinsModel_valueChanged");
    helper.addListener(buttonFilterProteins, "buttonFilterProteins_actionPerformed");
    //hitting enter in the text field should act the same as hitting the filter button.  Hack, focus, whatever
    helper.addListener(textProteinPrefix, "buttonFilterProteins_actionPerformed");
    helper.addListener(tblFeatures.getSelectionModel(), "tblFeaturesModel_valueChanged");

    _proteinTableModel = new ProteinTableModel();
    tblProteins.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    tblProteins.setAutoCreateColumnsFromModel(false);
    tblProteins.setModel(_proteinTableModel);
    tblProteins.setColumnModel(_proteinTableModel.columnModel);

    if (null != displayMatchedUnmatchedComboBox) {
        //TODO: should really use TextProvider here, and use an internal value for determining state
        displayMatchedUnmatchedComboBox.addItem("matched");
        displayMatchedUnmatchedComboBox.addItem("unmatched peptides");
        displayMatchedUnmatchedComboBox.addItem("unmatched ms2");
        helper.addListener(displayMatchedUnmatchedComboBox, "displayMatchedUnmatchedComboBox_actionPerformed");
    }

    _featureTableModel = new FeatureTableModel();
    tblFeatures.setModel(_featureTableModel);

    tblFeatures.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    tblFeatures.setAutoCreateColumnsFromModel(false);

    ProteinTablePopupMenu proteinPopup = new ProteinTablePopupMenu();

    tblProteins.setComponentPopupMenu(proteinPopup);
    proteinLabel.setComponentPopupMenu(proteinPopup);
}