Java JComponent Size addWithSize(Component c, int width, int height)

Here you can find the source of addWithSize(Component c, int width, int height)

Description

Adds a component with the specified size.

License

Open Source License

Parameter

Parameter Description
c a parameter
width a parameter
height a parameter

Return

a panel with the component that can be added.

Declaration

public static JPanel addWithSize(Component c, int width, int height) 

Method Source Code


//package com.java2s;
/*----------------    FILE HEADER  ------------------------------------------
 This file is part of deegree.//from w  ww. j  a  v a  2 s. c o m
 Copyright (C) 2001-2007 by:
 Department of Geography, University of Bonn
 http://www.giub.uni-bonn.de/deegree/
 lat/lon GmbH
 http://www.lat-lon.de
    
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.
 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 Lesser General Public License for more details.
 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 Contact:
    
 Andreas Poth
 lat/lon GmbH
 Aennchenstr. 19
 53177 Bonn
 Germany
 E-Mail: poth@lat-lon.de
    
 Prof. Dr. Klaus Greve
 Department of Geography
 University of Bonn
 Meckenheimer Allee 166
 53115 Bonn
 Germany
 E-Mail: greve@giub.uni-bonn.de
 ---------------------------------------------------------------------------*/

import java.awt.Component;

import java.awt.Dimension;

import javax.swing.BoxLayout;

import javax.swing.JPanel;

public class Main {
    /**
     * Adds a component with the specified size. If width or height are 0 or less, they will be added with the preferred
     * width or height.
     * 
     * @param c
     * @param width
     * @param height
     * @return a panel with the component that can be added.
     * 
     */
    public static JPanel addWithSize(Component c, int width, int height) {
        Dimension d = c.getPreferredSize();
        if (width <= 0) {
            width = d.width;
        }
        if (height <= 0) {
            height = d.height;
        }

        JPanel p = new JPanel();
        p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
        p.add(c);
        c.setPreferredSize(new Dimension(width, height));
        return p;
    }
}

Related

  1. adjustWindowToMinimumSize(final Window window)
  2. autoFitResize(final JLayeredPane pane, final Component... comps)
  3. changeSize(JComponent comp, float newSize)
  4. contentSize(final Component component)