|
Java example source code file (BorderFactory.java)
The BorderFactory.java Java example source code/* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code 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 * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package javax.swing; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Paint; import javax.swing.border.*; /** * Factory class for vending standard <code>Border objects. Wherever * possible, this factory will hand out references to shared * <code>Border instances. * For further information and examples see * <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/border.htmll">How to Use Borders</a>, * a section in <em>The Java Tutorial. * * @author David Kloba */ public class BorderFactory { /** Don't let anyone instantiate this class */ private BorderFactory() { } //// LineBorder /////////////////////////////////////////////////////////////// /** * Creates a line border withe the specified color. * * @param color a <code>Color to use for the line * @return the <code>Border object */ public static Border createLineBorder(Color color) { return new LineBorder(color, 1); } /** * Creates a line border with the specified color * and width. The width applies to all four sides of the * border. To specify widths individually for the top, * bottom, left, and right, use * {@link #createMatteBorder(int,int,int,int,Color)}. * * @param color a <code>Color to use for the line * @param thickness an integer specifying the width in pixels * @return the <code>Border object */ public static Border createLineBorder(Color color, int thickness) { return new LineBorder(color, thickness); } /** * Creates a line border with the specified color, thickness, and corner shape. * * @param color the color of the border * @param thickness the thickness of the border * @param rounded whether or not border corners should be round * @return the {@code Border} object * * @see LineBorder#LineBorder(Color, int, boolean) * @since 1.7 */ public static Border createLineBorder(Color color, int thickness, boolean rounded) { return new LineBorder(color, thickness, rounded); } //// BevelBorder ///////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// static final Border sharedRaisedBevel = new BevelBorder(BevelBorder.RAISED); static final Border sharedLoweredBevel = new BevelBorder(BevelBorder.LOWERED); /** * Creates 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 <code>Border object */ public static Border createRaisedBevelBorder() { return createSharedBevel(BevelBorder.RAISED); } /** * Creates 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 <code>Border object */ public static Border createLoweredBevelBorder() { return createSharedBevel(BevelBorder.LOWERED); } /** * Creates 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 integer specifying either * <code>BevelBorder.LOWERED or * <code>BevelBorder.RAISED * @return the <code>Border object */ public static Border createBevelBorder(int type) { return createSharedBevel(type); } /** * Creates 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 shadow color. * * @param type an integer specifying either * <code>BevelBorder.LOWERED or * <code>BevelBorder.RAISED * @param highlight a <code>Color object for highlights * @param shadow a <code>Color object for shadows * @return the <code>Border object */ public static Border createBevelBorder(int type, Color highlight, Color shadow) { return new BevelBorder(type, highlight, shadow); } /** * Creates a beveled border of the specified type, using * the specified colors for the inner and outer highlight * and shadow areas. * * @param type an integer specifying either * <code>BevelBorder.LOWERED or * <code>BevelBorder.RAISED * @param highlightOuter a <code>Color object for the * outer edge of the highlight area * @param highlightInner a <code>Color object for the * inner edge of the highlight area * @param shadowOuter a <code>Color object for the * outer edge of the shadow area * @param shadowInner a <code>Color object for the * inner edge of the shadow area * @return the <code>Border object */ public static Border createBevelBorder(int type, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner) { return new BevelBorder(type, highlightOuter, highlightInner, shadowOuter, shadowInner); } static Border createSharedBevel(int type) { if(type == BevelBorder.RAISED) { return sharedRaisedBevel; } else if(type == BevelBorder.LOWERED) { return sharedLoweredBevel; } return null; } //// SoftBevelBorder /////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// private static Border sharedSoftRaisedBevel; private static Border sharedSoftLoweredBevel; /** * Creates a beveled border with a raised edge and softened corners, * 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 {@code Border} object * * @since 1.7 */ public static Border createRaisedSoftBevelBorder() { if (sharedSoftRaisedBevel == null) { sharedSoftRaisedBevel = new SoftBevelBorder(BevelBorder.RAISED); } return sharedSoftRaisedBevel; } /** * Creates a beveled border with a lowered edge and softened corners, * 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 {@code Border} object * * @since 1.7 */ public static Border createLoweredSoftBevelBorder() { if (sharedSoftLoweredBevel == null) { sharedSoftLoweredBevel = new SoftBevelBorder(BevelBorder.LOWERED); } return sharedSoftLoweredBevel; } /** * Creates a beveled border of the specified type with softened corners, * using brighter shades of the component's current background color * for highlighting, and darker shading for shadows. * The type is either {@link BevelBorder#RAISED} or {@link BevelBorder#LOWERED}. * * @param type a type of a bevel * @return the {@code Border} object or {@code null} * if the specified type is not valid * * @see BevelBorder#BevelBorder(int) * @since 1.7 */ public static Border createSoftBevelBorder(int type) { if (type == BevelBorder.RAISED) { return createRaisedSoftBevelBorder(); } if (type == BevelBorder.LOWERED) { return createLoweredSoftBevelBorder(); } return null; } /** * Creates a beveled border of the specified type with softened corners, * using the specified highlighting and shadowing. * The type is either {@link BevelBorder#RAISED} or {@link BevelBorder#LOWERED}. * The outer edge of the highlight area uses * a brighter shade of the {@code highlight} color. * The inner edge of the shadow area uses * a brighter shade of the {@code shadow} color. * * @param type a type of a bevel * @param highlight a basic color of the highlight area * @param shadow a basic color of the shadow area * @return the {@code Border} object * * @see BevelBorder#BevelBorder(int, Color, Color) * @since 1.7 */ public static Border createSoftBevelBorder(int type, Color highlight, Color shadow) { return new SoftBevelBorder(type, highlight, shadow); } /** * Creates a beveled border of the specified type with softened corners, * using the specified colors for the inner and outer edges * of the highlight and the shadow areas. * The type is either {@link BevelBorder#RAISED} or {@link BevelBorder#LOWERED}. * Note: The shadow inner and outer colors are switched * for a lowered bevel border. * * @param type a type of a bevel * @param highlightOuter a color of the outer edge of the highlight area * @param highlightInner a color of the inner edge of the highlight area * @param shadowOuter a color of the outer edge of the shadow area * @param shadowInner a color of the inner edge of the shadow area * @return the {@code Border} object * * @see BevelBorder#BevelBorder(int, Color, Color, Color, Color) * @since 1.7 */ public static Border createSoftBevelBorder(int type, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner) { return new SoftBevelBorder(type, highlightOuter, highlightInner, shadowOuter, shadowInner); } //// EtchedBorder /////////////////////////////////////////////////////////// static final Border sharedEtchedBorder = new EtchedBorder(); private static Border sharedRaisedEtchedBorder; /** * Creates a border with an "etched" look using * the component's current background color for * highlighting and shading. * * @return the <code>Border object */ public static Border createEtchedBorder() { return sharedEtchedBorder; } /** * Creates a border with an "etched" look using * the specified highlighting and shading colors. * * @param highlight a <code>Color object for the border highlights * @param shadow a <code>Color object for the border shadows * @return the <code>Border object */ public static Border createEtchedBorder(Color highlight, Color shadow) { return new EtchedBorder(highlight, shadow); } /** * Creates a border with an "etched" look using * the component's current background color for * highlighting and shading. * * @param type one of <code>EtchedBorder.RAISED, or * <code>EtchedBorder.LOWERED * @return the <code>Border object * @exception IllegalArgumentException if type is not either * <code>EtchedBorder.RAISED or * <code>EtchedBorder.LOWERED * @since 1.3 */ public static Border createEtchedBorder(int type) { switch (type) { case EtchedBorder.RAISED: if (sharedRaisedEtchedBorder == null) { sharedRaisedEtchedBorder = new EtchedBorder (EtchedBorder.RAISED); } return sharedRaisedEtchedBorder; case EtchedBorder.LOWERED: return sharedEtchedBorder; default: throw new IllegalArgumentException("type must be one of EtchedBorder.RAISED or EtchedBorder.LOWERED"); } } /** * Creates a border with an "etched" look using * the specified highlighting and shading colors. * * @param type one of <code>EtchedBorder.RAISED, or * <code>EtchedBorder.LOWERED * @param highlight a <code>Color object for the border highlights * @param shadow a <code>Color object for the border shadows * @return the <code>Border object * @since 1.3 */ public static Border createEtchedBorder(int type, Color highlight, Color shadow) { return new EtchedBorder(type, highlight, shadow); } //// TitledBorder //////////////////////////////////////////////////////////// /** * Creates a new titled border with the specified title, * the default border type (determined by the current look and feel), * the default text position (determined by the current look and feel), * the default justification (leading), and the default * font and text color (determined by the current look and feel). * * @param title a <code>String containing the text of the title * @return the <code>TitledBorder object */ public static TitledBorder createTitledBorder(String title) { return new TitledBorder(title); } /** * Creates a new titled border with an empty title, * the specified border object, * the default text position (determined by the current look and feel), * the default justification (leading), and the default * font and text color (determined by the current look and feel). * * @param border the <code>Border object to add the title to; if * <code>null the Other Java examples (source code examples)Here is a short list of links related to this Java BorderFactory.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.