List of usage examples for java.awt Component setMinimumSize
public void setMinimumSize(Dimension minimumSize)
From source file:org.openmicroscopy.shoola.util.ui.UIUtilities.java
/** * Sets the preferred size, minimum and maximum size of the specified * component.//from w w w.ja va 2s. c om * * @param component The component to handle. * @param dim The dimension to set. */ public static void setDefaultSize(Component component, Dimension dim) { if (component == null) return; if (dim == null) dim = new Dimension(5, 5); component.setPreferredSize(dim); component.setMaximumSize(dim); component.setMinimumSize(dim); }
From source file:org.pentaho.ui.xul.swing.SwingElement.java
public void layout() { super.layout(); double totalFlex = 0.0; if (isVisible() == false) { resetContainer();/*from w ww . j a va2 s. c o m*/ return; } for (Element comp : getChildNodes()) { // if (comp.getManagedObject() == null) { // continue; // } if (((XulComponent) comp).getFlex() > 0) { flexLayout = true; totalFlex += ((XulComponent) comp).getFlex(); } } double currentFlexTotal = 0.0; Align alignment = (getAlign() != null) ? Align.valueOf(this.getAlign().toUpperCase()) : null; for (int i = 0; i < getChildNodes().size(); i++) { XulComponent comp = (XulComponent) getChildNodes().get(i); gc.fill = GridBagConstraints.BOTH; if (comp instanceof XulSplitter) { JPanel prevContainer = container; container = new ScrollablePanel(new GridBagLayout()); container.setOpaque(false); final JSplitPane splitter = new JSplitPane( (this.getOrientation() == Orient.VERTICAL) ? JSplitPane.VERTICAL_SPLIT : JSplitPane.HORIZONTAL_SPLIT, prevContainer, container); splitter.setContinuousLayout(true); final double splitterSize = currentFlexTotal / totalFlex; splitter.setResizeWeight(splitterSize); if (totalFlex > 0) { splitter.addComponentListener(new ComponentListener() { public void componentHidden(ComponentEvent arg0) { } public void componentMoved(ComponentEvent arg0) { } public void componentShown(ComponentEvent arg0) { } public void componentResized(ComponentEvent arg0) { splitter.setDividerLocation(splitterSize); splitter.removeComponentListener(this); } }); } if (!flexLayout) { if (this.getOrientation() == Orient.VERTICAL) { // VBox and such gc.weighty = 1.0; } else { gc.weightx = 1.0; } prevContainer.add(Box.createGlue(), gc); } setManagedObject(splitter); } Object maybeComponent = comp.getManagedObject(); if (maybeComponent == null || !(maybeComponent instanceof Component)) { continue; } if (this.getOrientation() == Orient.VERTICAL) { // VBox and such gc.gridheight = comp.getFlex() + 1; gc.gridwidth = GridBagConstraints.REMAINDER; gc.weighty = (totalFlex == 0) ? 0 : (comp.getFlex() / totalFlex); } else { gc.gridwidth = comp.getFlex() + 1; gc.gridheight = GridBagConstraints.REMAINDER; gc.weightx = (totalFlex == 0) ? 0 : (comp.getFlex() / totalFlex); } currentFlexTotal += comp.getFlex(); if (this.getOrientation() == Orient.VERTICAL) { // VBox and such if (alignment != null) { gc.fill = GridBagConstraints.NONE; switch (alignment) { case START: gc.anchor = GridBagConstraints.WEST; break; case CENTER: gc.anchor = GridBagConstraints.CENTER; break; case END: gc.anchor = GridBagConstraints.EAST; break; } } } else { if (alignment != null) { gc.fill = GridBagConstraints.NONE; switch (alignment) { case START: gc.anchor = GridBagConstraints.NORTH; break; case CENTER: gc.anchor = GridBagConstraints.CENTER; break; case END: gc.anchor = GridBagConstraints.SOUTH; break; } } } Component component = (Component) maybeComponent; if (comp.getWidth() > 0 || comp.getHeight() > 0) { Dimension minSize = component.getMinimumSize(); Dimension prefSize = component.getPreferredSize(); if (comp.getWidth() > 0) { minSize.width = comp.getWidth(); prefSize.width = comp.getWidth(); } if (comp.getHeight() > 0) { minSize.height = comp.getHeight(); prefSize.height = comp.getHeight(); } component.setMinimumSize(minSize); component.setPreferredSize(prefSize); } container.add(component, gc); if (i + 1 == getChildNodes().size() && !flexLayout) { if (this.getOrientation() == Orient.VERTICAL) { // VBox and such gc.weighty = 1.0; } else { gc.weightx = 1.0; } container.add(Box.createGlue(), gc); } } }
From source file:org.pentaho.ui.xul.swing.tags.SwingGrid.java
@Override public void layout() { if (this.getChildNodes().size() < 2) { logger.warn("Grid does not contain Column and Row children"); return;//from w w w .j a v a2s . c o m } XulComponent columns = this.getChildNodes().get(0); XulComponent rows = this.getChildNodes().get(1); int colCount = 0; int rowCount = 0; float colFlexTotal = 0; float rowTotalFlex = 0; for (XulComponent col : columns.getChildNodes()) { if (col.getFlex() > 0) { colFlexTotal += col.getFlex(); } colCount++; } for (XulComponent row : rows.getChildNodes()) { if (row.getFlex() > 0) { rowTotalFlex += row.getFlex(); } rowCount++; } for (XulComponent row : rows.getChildNodes()) { gc.gridx = 0; for (XulComponent xulComp : row.getChildNodes()) { gc.weightx = 0.0; gc.gridwidth = 1; gc.gridheight = 1; gc.weighty = 0.0; gc.anchor = GridBagConstraints.NORTHWEST; gc.fill = GridBagConstraints.NONE; Component comp = (Component) xulComp.getManagedObject(); float colFlex = columns.getChildNodes().get(gc.gridx).getFlex(); int rowFlex = row.getFlex(); Align colAlignment = null; Align rowAlignment = null; String colAlignmentStr = xulComp.getAlign(); String rowAlignStr = row.getAlign(); if (colAlignmentStr != null) { colAlignment = Align.valueOf(colAlignmentStr); } if (rowAlignStr != null) { rowAlignment = Align.valueOf(rowAlignStr); } if (colFlex > 0) { gc.weightx = (colFlex / colFlexTotal); } if (rowFlex > 0) { gc.weighty = (rowFlex / rowTotalFlex); } if (colAlignment == Align.STRETCH && xulComp.getFlex() > 0) { gc.fill = GridBagConstraints.BOTH; } else if (colAlignment == Align.STRETCH) { gc.fill = GridBagConstraints.HORIZONTAL; } else if (xulComp.getFlex() > 0) { gc.fill = GridBagConstraints.VERTICAL; } if (row.getChildNodes().indexOf(xulComp) + 1 == row.getChildNodes().size()) { gc.gridwidth = GridBagConstraints.REMAINDER; } else { gc.gridwidth = 1; } if (rows.getChildNodes().indexOf(row) + 1 == rows.getChildNodes().size()) { gc.gridheight = GridBagConstraints.REMAINDER; } else { gc.gridheight = 1; } // gc.gridheight = row.getFlex() + 1; if (colAlignment != null && rowAlignment != null) { switch (rowAlignment) { case START: switch (colAlignment) { case START: gc.anchor = GridBagConstraints.NORTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.NORTH; break; case END: gc.anchor = GridBagConstraints.NORTHEAST; break; } break; case CENTER: switch (colAlignment) { case START: gc.anchor = GridBagConstraints.WEST; break; case CENTER: gc.anchor = GridBagConstraints.CENTER; break; case END: gc.anchor = GridBagConstraints.EAST; break; } break; case END: switch (colAlignment) { case START: gc.anchor = GridBagConstraints.SOUTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.SOUTH; break; case END: gc.anchor = GridBagConstraints.SOUTHEAST; break; } } } else if (rowAlignment != null) { switch (rowAlignment) { case START: gc.anchor = GridBagConstraints.NORTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.WEST; break; case END: gc.anchor = GridBagConstraints.SOUTHWEST; break; } } else if (colAlignment != null) { switch (colAlignment) { case START: gc.anchor = GridBagConstraints.NORTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.NORTH; break; case END: gc.anchor = GridBagConstraints.NORTHEAST; break; } } if (comp.getWidth() > 0 || comp.getHeight() > 0) { Dimension minSize = comp.getMinimumSize(); Dimension prefSize = comp.getPreferredSize(); if (comp.getWidth() > 0) { minSize.width = comp.getWidth(); prefSize.width = comp.getWidth(); } if (comp.getHeight() > 0) { minSize.height = comp.getHeight(); prefSize.height = comp.getHeight(); } comp.setMinimumSize(minSize); comp.setPreferredSize(prefSize); } else { comp.setPreferredSize(comp.getMinimumSize()); } grid.add(comp, gc); gc.gridx++; } gc.gridy++; } if (rowTotalFlex == 0) { // Add in an extra row at the bottom to push others up gc.gridy++; gc.weighty = 1; gc.fill = gc.REMAINDER; grid.add(Box.createGlue(), gc); } this.initialized = true; }