From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libjava/classpath/javax/swing/BorderFactory.java | 456 +++++++++++++++++++++++ 1 file changed, 456 insertions(+) create mode 100644 libjava/classpath/javax/swing/BorderFactory.java (limited to 'libjava/classpath/javax/swing/BorderFactory.java') diff --git a/libjava/classpath/javax/swing/BorderFactory.java b/libjava/classpath/javax/swing/BorderFactory.java new file mode 100644 index 000000000..f5c4cbbb6 --- /dev/null +++ b/libjava/classpath/javax/swing/BorderFactory.java @@ -0,0 +1,456 @@ +/* BorderFactory.java -- + Copyright (C) 2002, 2004 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package javax.swing; + +import java.awt.Color; +import java.awt.Font; + +import javax.swing.border.BevelBorder; +import javax.swing.border.Border; +import javax.swing.border.CompoundBorder; +import javax.swing.border.EmptyBorder; +import javax.swing.border.EtchedBorder; +import javax.swing.border.LineBorder; +import javax.swing.border.MatteBorder; +import javax.swing.border.TitledBorder; + +/** + * A factory for commonly used borders. + * + * @author original author unknown + */ +public class BorderFactory +{ + private BorderFactory() + { + // Do nothing. + } + + /** + * Creates a line border withe the specified color. + * + * @param color A color to use for the line. + * + * @return The Border object + */ + public static Border createLineBorder(Color color) + { + return createLineBorder(color, 1); + } + + /** + * Creates a line border withe the specified color and width. The width + * applies to all 4 sides of the border. To specify widths individually for + * the top, bottom, left, and right, use + * createMatteBorder(int,int,int,int,Color). + * + * @param color A color to use for the line. + * @param thickness An int specifying the width in pixels. + * + * @return The Border object + */ + public static Border createLineBorder(Color color, int thickness) + { + return new LineBorder(color, thickness); + } + + /** + * Created a border with a raised beveled edge, using brighter shades of + * the component's current background color for highlighting, and darker + * shading for shadows. (In a raised border, highlights are on top and + * shadows are underneath.) + * + * @return The Border object + */ + public static Border createRaisedBevelBorder() + { + return new BevelBorder(BevelBorder.RAISED); + } + + /** + * Created a border with a lowered beveled edge, using brighter shades of + * the component's current background color for highlighting, and darker + * shading for shadows. (In a lowered border, shadows are on top and + * highlights are underneath.) + * + * @return The Border object + */ + public static Border createLoweredBevelBorder() + { + return new BevelBorder(BevelBorder.LOWERED); + } + + /** + * Create a beveled border of the specified type, using brighter shades of + * the component's current background color for highlighting, and darker + * shading for shadows. (In a lowered border, shadows are on top and + * highlights are underneath.). + * + * @param type An int specifying either BevelBorder.LOWERED or + * BevelBorder.RAISED + * + * @return The Border object + */ + public static Border createBevelBorder(int type) + { + return new BevelBorder(type); + } + + /** + * Create a beveled border of the specified type, using the specified + * highlighting and shadowing. The outer edge of the highlighted area uses + * a brighter shade of the highlight color. The inner edge of the shadow + * area uses a brighter shade of the shadaw color. + * + * @param type An int specifying either BevelBorder.LOWERED or + * BevelBorder.RAISED + * @param highlight A Color object for highlights + * @param shadow A Color object for shadows + * + * @return The Border object + */ + public static Border createBevelBorder(int type, Color highlight, Color shadow) + { + return new BevelBorder(type, highlight, shadow); + } + + /** + * Create a beveled border of the specified type, using the specified colors + * for the inner and outer highlight and shadow areas. + * + * @param type An int specifying either BevelBorder.LOWERED or + * BevelBorder.RAISED + * @param highlightOuter A Color object for the outer edge of the + * highlight area + * @param highlightInner A Color object for the inner edge of the + * highlight area + * @param shadowOuter A Color object for the outer edge of the shadow area + * @param shadowInner A Color object for the inner edge of the shadow area + * + * @return The Border object + */ + public static Border createBevelBorder(int type, Color highlightOuter, + Color highlightInner, + Color shadowOuter, Color shadowInner) + { + return new BevelBorder(type, highlightOuter, highlightInner, shadowOuter, + shadowInner); + } + + /** + * Create a border with an "etched" look using the component's current + * background color for highlighting and shading. + * + * @return The Border object + */ + public static Border createEtchedBorder() + { + return new EtchedBorder(); + } + + /** + * Create a border with an "etched" look using the component's current + * background color for highlighting and shading. + * + * @return The Border object + */ + public static Border createEtchedBorder(int etchType) + { + return new EtchedBorder(etchType); + } + + /** + * Create a border with an "etched" look using the specified highlighting and + * shading colors. + * + * @param highlight A Color object for the border highlights + * @param shadow A Color object for the border shadows + * + * @return The Border object + */ + public static Border createEtchedBorder(Color highlight, Color shadow) + { + return new EtchedBorder(highlight, shadow); + } + + /** + * Create a border with an "etched" look using the specified highlighting and + * shading colors. + * + * @param highlight A Color object for the border highlights + * @param shadow A Color object for the border shadows + * + * @return The Border object + */ + public static Border createEtchedBorder(int etchType, Color highlight, + Color shadow) + { + return new EtchedBorder(etchType, highlight, shadow); + } + + /** + * Create a new title border specifying the text of the title, using the + * default border (etched), using the default text position (sitting on the + * top line) and default justification (left) and using the default font and + * text color determined by the current look and feel. + * + * @param title A String containing the text of the title + * + * @return The TitledBorder object + */ + public static TitledBorder createTitledBorder(String title) + { + return new TitledBorder(title); + } + + /** + * Create a new title border with an empty title specifying the border + * object, using the default text position (sitting on the top line) and + * default justification (left) and using the default font, text color, + * and border determined by the current look and feel. (The Motif and Windows + * look and feels use an etched border; The Java look and feel use a + * gray border.) + * + * @param border The Border object to add the title to + * + * @return The TitledBorder object + */ + public static TitledBorder createTitledBorder(Border border) + { + return new TitledBorder(border); + } + + /** + * Add a title to an existing border, specifying the text of the title, using + * the default positioning (sitting on the top line) and default + * justification (left) and using the default font and text color determined + * by the current look and feel. + * + * @param border The Border object to add the title to + * @param title A String containing the text of the title + * + * @return The TitledBorder object + */ + public static TitledBorder createTitledBorder(Border border, String title) + { + return new TitledBorder(border, title); + } + + /** + * Add a title to an existing border, specifying the text of the title along + * with its positioning, using the default font and text color determined by + * the current look and feel. + * + * @param border The Border object to add the title to + * @param title A String containing the text of the title + * @param titleJustification An int specifying the left/right position of + * the title -- one of TitledBorder.LEFT, TitledBorder.CENTER, or + * TitledBorder.RIGHT, TitledBorder.DEFAULT_JUSTIFICATION (left). + * @param titlePosition An int specifying the vertical position of the text + * in relation to the border -- one of: TitledBorder.ABOVE_TOP, + * TitledBorder.TOP (sitting on the top line), TitledBorder.BELOW_TOP, + * TitledBorder.ABOVE_BOTTOM, TitledBorder.BOTTOM (sitting on the bottom + * line), TitledBorder.BELOW_BOTTOM, or TitledBorder.DEFAULT_POSITION + * (top). + * + * @return The TitledBorder object + */ + public static TitledBorder createTitledBorder(Border border, String title, + int titleJustification, + int titlePosition) + { + return new TitledBorder(border, title, titleJustification, titlePosition); + } + + /** + * Add a title to an existing border, specifying the text of the title along + * with its positioning and font, using the default text color determined by + * the current look and feel. + * + * @param border - the Border object to add the title to + * @param title - a String containing the text of the title + * @param titleJustification - an int specifying the left/right position of + * the title -- one of TitledBorder.LEFT, TitledBorder.CENTER, or + * TitledBorder.RIGHT, TitledBorder.DEFAULT_JUSTIFICATION (left). + * @param titlePosition - an int specifying the vertical position of the + * text in relation to the border -- one of: TitledBorder.ABOVE_TOP, + * TitledBorder.TOP (sitting on the top line), TitledBorder.BELOW_TOP, + * TitledBorder.ABOVE_BOTTOM, TitledBorder.BOTTOM (sitting on the bottom + * line), TitledBorder.BELOW_BOTTOM, or TitledBorder.DEFAULT_POSITION (top). + * @param titleFont - a Font object specifying the title font + * + * @return The TitledBorder object + */ + public static TitledBorder createTitledBorder(Border border, String title, + int titleJustification, + int titlePosition, + Font titleFont) + { + return new TitledBorder(border, title, titleJustification, titlePosition, + titleFont); + } + + /** + * Add a title to an existing border, specifying the text of the title along + * with its positioning, font, and color. + * + * @param border - the Border object to add the title to + * @param title - a String containing the text of the title + * @param titleJustification - an int specifying the left/right position of + * the title -- one of TitledBorder.LEFT, TitledBorder.CENTER, or + * TitledBorder.RIGHT, TitledBorder.DEFAULT_JUSTIFICATION (left). + * @param titlePosition - an int specifying the vertical position of the text + * in relation to the border -- one of: TitledBorder.ABOVE_TOP, + * TitledBorder.TOP (sitting on the top line), TitledBorder.BELOW_TOP, + * TitledBorder.ABOVE_BOTTOM, TitledBorder.BOTTOM (sitting on the bottom + * line), TitledBorder.BELOW_BOTTOM, or TitledBorder.DEFAULT_POSITION (top). + * @param titleFont - a Font object specifying the title font + * @param titleColor - a Color object specifying the title color + * + * @return The TitledBorder object + */ + public static TitledBorder createTitledBorder(Border border, String title, + int titleJustification, + int titlePosition, + Font titleFont, Color titleColor) + { + return new TitledBorder(border, title, titleJustification, titlePosition, + titleFont, titleColor); + } + + /** + * Creates an empty border that takes up no space. (The width of the top, + * bottom, left, and right sides are all zero.) + * + * @return The Border object + */ + public static Border createEmptyBorder() + { + return new EmptyBorder(0, 0, 0, 0); + } + + /** + * Creates an empty border that takes up no space but which does no drawing, + * specifying the width of the top, left, bottom, and right sides. + * + * @param top An int specifying the width of the top in pixels + * @param left An int specifying the width of the left side in pixels + * @param bottom An int specifying the width of the right side in pixels + * @param right An int specifying the width of the bottom in pixels + * + * @return The Border object + */ + public static Border createEmptyBorder(int top, int left, int bottom, + int right) + { + return new EmptyBorder(top, left, bottom, right); + } + + /** + * Create a compound border with a null inside edge and a null outside edge. + * + * @return The CompoundBorder object + */ + public static CompoundBorder createCompoundBorder() + { + return new CompoundBorder(); + } + + /** + * Create a compound border specifying the border objects to use for the + * outside and inside edges. + * + * @param outsideBorder A Border object for the outer edge of the + * compound border + * @param insideBorder A Border object for the inner edge of the + * compound border + * + * @return The CompoundBorder object + */ + public static CompoundBorder createCompoundBorder(Border outsideBorder, + Border insideBorder) + { + return new CompoundBorder(outsideBorder, insideBorder); + } + + /** + * Create a matte-look border using a solid color. (The difference between + * this border and a line border is that you can specify the individual border + * dimensions.) + * + * @param top + * An int specifying the width of the top in pixels + * @param left + * An int specifying the width of the left side in pixels + * @param bottom + * An int specifying the width of the right side in pixels + * @param right + * An int specifying the width of the bottom in pixels + * @param color + * A Color to use for the border + * @return The MatteBorder object + */ + public static MatteBorder createMatteBorder(int top, int left, int bottom, + int right, Color color) + { + return new MatteBorder(top, left, bottom, right, color); + } + + /** + * Create a matte-look border that consists of multiple tiles of a specified + * icon. Multiple copies of the icon are placed side-by-side to fill up the + * border area. + * + * Note: + * If the icon doesn't load, the border area is painted gray. + * + * @param top An int specifying the width of the top in pixels + * @param left An int specifying the width of the left side in pixels + * @param bottom An int specifying the width of the right side in pixels + * @param right An int specifying the width of the bottom in pixels + * @param tileIcon The Icon object used for the border tiles + * + * @return The MatteBorder object + */ + public static MatteBorder createMatteBorder(int top, int left, int bottom, + int right, Icon tileIcon) + { + return new MatteBorder(top, left, bottom, right, tileIcon); + } +} -- cgit v1.2.3