KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jgoodies > forms > layout > Size


1 /*
2  * Copyright (c) 2003 JGoodies Karsten Lentzsch. All Rights Reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * o Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  *
10  * o Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * o Neither the name of JGoodies Karsten Lentzsch nor the names of
15  * its contributors may be used to endorse or promote products derived
16  * from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
27  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */

30
31 package com.jgoodies.forms.layout;
32
33 import java.awt.Container JavaDoc;
34 import java.util.List JavaDoc;
35
36 /**
37  * An interface that describes sizes as used by the {@link FormLayout}:
38  * component measuring sizes, constant sizes with value and unit,
39  * and bounded sizes that provide lower and upper bounds for a size.
40  * <p>
41  * You can find a motivation for the different <code>Size</code> types in
42  * the Forms article that is part of the product documentation and that is
43  * available online too, see
44  * <a HREF="http://www.jgoodies.com/articles/forms.pdf" >
45  * http://www.jgoodies.com/articles/forms.pdf</a>.
46  *
47  * @author Karsten Lentzsch
48  * @version $Revision: 1.2 $
49  * @see Sizes
50  * @see ConstantSize
51  */

52
53 public interface Size {
54     
55     /**
56      * Computes and answers my maximum size applied to the given list of
57      * components using the specified measures.
58      * <p>
59      * Invoked by {@link com.jgoodies.forms.layout.FormSpec} to determine
60      * the size of a column or row. This method is not intended to be called
61      * by API users, and it uses API invisible parameter types.
62      *
63      * @param container the layout container
64      * @param components the list of components used to compute the size
65      * @param minMeasure the measure that determines the minimum sizes
66      * @param prefMeasure the measure that determines the preferred sizes
67      * @param defaultMeasure the measure that determines the default sizes
68      */

69     int maximumSize(Container JavaDoc container,
70                     List JavaDoc components,
71                     FormLayout.Measure minMeasure,
72                     FormLayout.Measure prefMeasure,
73                     FormLayout.Measure defaultMeasure);
74     
75 }
Popular Tags