001: /*
002: * Sun Public License Notice
003: *
004: * The contents of this file are subject to the Sun Public License
005: * Version 1.0 (the "License"). You may not use this file except in
006: * compliance with the License. A copy of the License is available at
007: * http://www.sun.com/
008: *
009: * The Original Code is NetBeans. The Initial Developer of the Original
010: * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
011: * Microsystems, Inc. All Rights Reserved.
012: */
013:
014: package org.netbeans.lib.awtextra;
015:
016: import java.awt.Dimension;
017: import java.awt.Point;
018:
019: /** An object that encapsulates position and (optionally) size for
020: * Absolute positioning of components.
021: *
022: * @see AbsoluteLayout
023: * @version 1.01, Aug 19, 1998
024: */
025: public class AbsoluteConstraints implements java.io.Serializable {
026: /** generated Serialized Version UID */
027: static final long serialVersionUID = 5261460716622152494L;
028:
029: /** The X position of the component */
030: public int x;
031: /** The Y position of the component */
032: public int y;
033: /** The width of the component or -1 if the component's preferred width should be used */
034: public int width = -1;
035: /** The height of the component or -1 if the component's preferred height should be used */
036: public int height = -1;
037:
038: /** Creates a new AbsoluteConstraints for specified position.
039: * @param pos The position to be represented by this AbsoluteConstraints
040: */
041: public AbsoluteConstraints(Point pos) {
042: this (pos.x, pos.y);
043: }
044:
045: /** Creates a new AbsoluteConstraints for specified position.
046: * @param x The X position to be represented by this AbsoluteConstraints
047: * @param y The Y position to be represented by this AbsoluteConstraints
048: */
049: public AbsoluteConstraints(int x, int y) {
050: this .x = x;
051: this .y = y;
052: }
053:
054: /** Creates a new AbsoluteConstraints for specified position and size.
055: * @param pos The position to be represented by this AbsoluteConstraints
056: * @param size The size to be represented by this AbsoluteConstraints or null
057: * if the component's preferred size should be used
058: */
059: public AbsoluteConstraints(Point pos, Dimension size) {
060: this .x = pos.x;
061: this .y = pos.y;
062: if (size != null) {
063: this .width = size.width;
064: this .height = size.height;
065: }
066: }
067:
068: /** Creates a new AbsoluteConstraints for specified position and size.
069: * @param x The X position to be represented by this AbsoluteConstraints
070: * @param y The Y position to be represented by this AbsoluteConstraints
071: * @param width The width to be represented by this AbsoluteConstraints or -1 if the
072: * component's preferred width should be used
073: * @param height The height to be represented by this AbsoluteConstraints or -1 if the
074: * component's preferred height should be used
075: */
076: public AbsoluteConstraints(int x, int y, int width, int height) {
077: this .x = x;
078: this .y = y;
079: this .width = width;
080: this .height = height;
081: }
082:
083: /** @return The X position represented by this AbsoluteConstraints */
084: public int getX() {
085: return x;
086: }
087:
088: /** @return The Y position represented by this AbsoluteConstraints */
089: public int getY() {
090: return y;
091: }
092:
093: /** @return The width represented by this AbsoluteConstraints or -1 if the
094: * component's preferred width should be used
095: */
096: public int getWidth() {
097: return width;
098: }
099:
100: /** @return The height represented by this AbsoluteConstraints or -1 if the
101: * component's preferred height should be used
102: */
103: public int getHeight() {
104: return height;
105: }
106:
107: public String toString() {
108: return super .toString() + " [x=" + x + ", y=" + y + ", width="
109: + width + ", height=" + height + "]";
110: }
111:
112: }
|