Here you can find the source of equalizeSizes(JComponent[] components)
aComponents
to the same size.
Parameter | Description |
---|---|
components | contains <code>JComponent</code> objects. |
public static void equalizeSizes(JComponent[] components)
//package com.java2s; /*/*from w w w . jav a 2s . c o m*/ * Copyright 2002-2004 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under */ import java.awt.Dimension; import javax.swing.JComponent; public class Main { /** * Sets the items in <code>aComponents</code> to the same size. * * Sets each component's preferred and maximum sizes. The actual size is * determined by the layout manager, which adjusts for locale-specific * strings and customized fonts. (See this <a * href="http://java.sun.com/products/jlf/ed2/samcode/prefere.html">Sun doc * </a> for more information.) * * @param components * contains <code>JComponent</code> objects. */ public static void equalizeSizes(JComponent[] components) { Dimension targetSize = new Dimension(0, 0); for (int i = 0; i < components.length; i++) { JComponent comp = components[i]; Dimension compSize = comp.getPreferredSize(); double width = Math.max(targetSize.getWidth(), compSize.getWidth()); double height = Math.max(targetSize.getHeight(), compSize.getHeight()); targetSize.setSize(width, height); } setSizes(components, targetSize); } private static void setSizes(JComponent[] components, final Dimension dimension) { for (int i = 0; i < components.length; i++) { JComponent comp = components[i]; // shouldn't have to clone these (hopefully awt does it for us) comp.setPreferredSize(dimension); comp.setMaximumSize(dimension); } } }