Frames | No Frames |
1: /* GridBagConstraints.java -- Constraints for GridBag layout manager 2: Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation 3: 4: This file is part of GNU Classpath. 5: 6: GNU Classpath is free software; you can redistribute it and/or modify 7: it under the terms of the GNU General Public License as published by 8: the Free Software Foundation; either version 2, or (at your option) 9: any later version. 10: 11: GNU Classpath is distributed in the hope that it will be useful, but 12: WITHOUT ANY WARRANTY; without even the implied warranty of 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14: General Public License for more details. 15: 16: You should have received a copy of the GNU General Public License 17: along with GNU Classpath; see the file COPYING. If not, write to the 18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19: 02110-1301 USA. 20: 21: Linking this library statically or dynamically with other modules is 22: making a combined work based on this library. Thus, the terms and 23: conditions of the GNU General Public License cover the whole 24: combination. 25: 26: As a special exception, the copyright holders of this library give you 27: permission to link this library with independent modules to produce an 28: executable, regardless of the license terms of these independent 29: modules, and to copy and distribute the resulting executable under 30: terms of your choice, provided that you also meet, for each linked 31: independent module, the terms and conditions of the license of that 32: module. An independent module is a module which is not derived from 33: or based on this library. If you modify this library, you may extend 34: this exception to your version of the library, but you are not 35: obligated to do so. If you do not wish to do so, delete this 36: exception statement from your version. */ 37: 38: 39: package java.awt; 40: 41: import java.io.Serializable; 42: 43: /** 44: * This specifies the constraints for a component managed by the 45: * GridBagLayout layout manager. 46: */ 47: public class GridBagConstraints implements Cloneable, Serializable 48: { 49: static final long serialVersionUID = -1000070633030801713L; 50: 51: // Fill values. 52: /** 53: * Don't fill. 54: */ 55: public static final int NONE = 0; 56: 57: /** 58: * Fill in both directions. 59: */ 60: public static final int BOTH = 1; 61: 62: /** 63: * Fill horizontally. 64: */ 65: public static final int HORIZONTAL = 2; 66: 67: /** 68: * Fill vertically. 69: */ 70: public static final int VERTICAL = 3; 71: 72: // Anchor values. 73: /** 74: * Position in the center. 75: */ 76: public static final int CENTER = 10; 77: 78: /** 79: * Position to the north. 80: */ 81: public static final int NORTH = 11; 82: 83: /** 84: * Position to the northeast. 85: */ 86: public static final int NORTHEAST = 12; 87: 88: /** 89: * Position to the east. 90: */ 91: public static final int EAST = 13; 92: 93: /** 94: * Position to the southeast. 95: */ 96: public static final int SOUTHEAST = 14; 97: 98: /** 99: * Position to the south. 100: */ 101: public static final int SOUTH = 15; 102: 103: /** 104: * Position to the southwest. 105: */ 106: public static final int SOUTHWEST = 16; 107: 108: /** 109: * Position to the west. 110: */ 111: public static final int WEST = 17; 112: 113: /** 114: * Position to the northwest. 115: */ 116: public static final int NORTHWEST = 18; 117: 118: // gridx and gridy values. 119: /** 120: * Occupy all remaining cells except last cell. 121: */ 122: public static final int RELATIVE = -1; 123: 124: /** 125: * Occupy all remaining cells. 126: */ 127: public static final int REMAINDER = 0; 128: 129: /** 130: * Position to where a page starts. Equals NORTH for horizontal orientations. 131: */ 132: public static final int PAGE_START = 19; 133: 134: /** 135: * Position to where a page ends. Equals SOUTH for horizontal orientations. 136: */ 137: public static final int PAGE_END = 20; 138: 139: /** 140: * Position to where a text line would start. Equals to WEST for 141: * left-to-right orientations. 142: */ 143: public static final int LINE_START = 21; 144: 145: /** 146: * Position to where a text line would end. Equals to EAST for 147: * left-to-right orientations. 148: */ 149: public static final int LINE_END = 22; 150: 151: /** 152: * Position to where the first text line would start. Equals to NORTHWEST for 153: * horizontal left-to-right orientations. 154: */ 155: public static final int FIRST_LINE_START = 23; 156: 157: /** 158: * Position to where the first text line would end. Equals to NORTHEAST for 159: * horizontal left-to-right orientations. 160: */ 161: public static final int FIRST_LINE_END = 24; 162: 163: /** 164: * Position to where the last text line would start. Equals to SOUTHWEST for 165: * horizontal left-to-right orientations. 166: */ 167: public static final int LAST_LINE_START = 25; 168: 169: /** 170: * Position to where the last text line would end. Equals to SOUTHEAST for 171: * horizontal left-to-right orientations. 172: */ 173: public static final int LAST_LINE_END = 26; 174: 175: public int anchor; 176: public int fill; 177: public int gridheight; 178: public int gridwidth; 179: public int gridx; 180: public int gridy; 181: public Insets insets; 182: public int ipadx; 183: public int ipady; 184: public double weightx; 185: public double weighty; 186: 187: /** 188: * Create a copy of this object. 189: */ 190: public Object clone () 191: { 192: try 193: { 194: GridBagConstraints g = (GridBagConstraints) super.clone (); 195: g.insets = (Insets) insets.clone (); 196: return g; 197: } 198: catch (CloneNotSupportedException _) 199: { 200: // Can't happen. 201: return null; 202: } 203: } 204: 205: /** 206: * Create a new GridBagConstraints object with the default 207: * parameters. 208: */ 209: public GridBagConstraints () 210: { 211: this.anchor = CENTER; 212: this.fill = NONE; 213: this.gridx = RELATIVE; 214: this.gridy = RELATIVE; 215: this.gridwidth = 1; 216: this.gridheight = 1; 217: this.ipadx = 0; 218: this.ipady = 0; 219: this.insets = new Insets (0, 0, 0, 0); 220: this.weightx = 0; 221: this.weighty = 0; 222: } 223: 224: /** 225: * Create a new GridBagConstraints object with the indicated 226: * parameters. 227: */ 228: public GridBagConstraints (int gridx, int gridy, 229: int gridwidth, int gridheight, 230: double weightx, double weighty, 231: int anchor, int fill, 232: Insets insets, int ipadx, int ipady) 233: { 234: this.anchor = anchor; 235: this.fill = fill; 236: this.gridx = gridx; 237: this.gridy = gridy; 238: this.gridwidth = gridwidth; 239: this.gridheight = gridheight; 240: this.ipadx = ipadx; 241: this.ipady = ipady; 242: this.insets = insets; 243: this.weightx = weightx; 244: this.weighty = weighty; 245: } 246: }