001: /*
002: * Copyright (c) 2002-2007 JGoodies Karsten Lentzsch. All Rights Reserved.
003: *
004: * Redistribution and use in source and binary forms, with or without
005: * modification, are permitted provided that the following conditions are met:
006: *
007: * o Redistributions of source code must retain the above copyright notice,
008: * this list of conditions and the following disclaimer.
009: *
010: * o Redistributions in binary form must reproduce the above copyright notice,
011: * this list of conditions and the following disclaimer in the documentation
012: * and/or other materials provided with the distribution.
013: *
014: * o Neither the name of JGoodies Karsten Lentzsch nor the names of
015: * its contributors may be used to endorse or promote products derived
016: * from this software without specific prior written permission.
017: *
018: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
019: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
020: * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
021: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
022: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
023: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
024: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
025: * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
026: * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
027: * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
028: * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
029: */
030:
031: package com.jgoodies.forms.layout;
032:
033: import java.awt.Component;
034: import java.awt.Dimension;
035:
036: /**
037: * A component that is used in the layout tests. It is constructed
038: * with fixed minimum and preferred sizes.
039: *
040: * @author Karsten Lentzsch
041: * @version $Revision: 1.8 $
042: */
043: public final class TestComponent extends Component {
044:
045: /**
046: * Holds the component's minimum size that can be requested
047: * using <code>#getMinimumSize</code>.
048: */
049: private final Dimension minimumSize;
050:
051: /**
052: * Holds the component's preferred size that can be requested
053: * using <code>#getPreferredSize</code>.
054: */
055: private final Dimension preferredSize;
056:
057: // Instance Creation ******************************************************
058:
059: /**
060: * Constructs a TestComponent with the given minimum and preferred sizes.
061: *
062: * @param minimumSize the component's minimum size
063: * @param preferredSize the component's preferred size
064: */
065: public TestComponent(Dimension minimumSize, Dimension preferredSize) {
066: this .minimumSize = minimumSize;
067: this .preferredSize = preferredSize;
068: }
069:
070: /**
071: * Constructs a TestComponent with the given minimum and preferred
072: * widths and heights.
073: *
074: * @param minWidth the component's minimum width
075: * @param minHeight the component's minimum height
076: * @param prefWidth the component's preferred width
077: * @param prefHeight the component's preferred height
078: */
079: public TestComponent(int minWidth, int minHeight, int prefWidth,
080: int prefHeight) {
081: this (new Dimension(minWidth, minHeight), new Dimension(
082: prefWidth, prefHeight));
083: }
084:
085: // Accessing Properties ***************************************************
086:
087: /**
088: * Returns the minimum size of this component.
089: *
090: * @return a dimension object indicating this component's minimum size
091: * @see #getPreferredSize()
092: */
093: public Dimension getMinimumSize() {
094: return minimumSize;
095: }
096:
097: /**
098: * Returns the preferred size of this component.
099: *
100: * @return a dimension object indicating this component's preferred size
101: * @see #getMinimumSize()
102: */
103: public Dimension getPreferredSize() {
104: return preferredSize;
105: }
106:
107: }
|