List of usage examples for java.awt Container getPreferredSize
public Dimension getPreferredSize()
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); }