// Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. // // Redistribution and use in source and binary forms, with or // without modification, are permitted provided that the following // conditions are met: // // - Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // - Redistribution in binary form must reproduce the above // copyright notice, this list of conditions and the following // disclaimer in the documentation and/or other materials // provided with the distribution. // // Neither the name of Sun Microsystems, Inc. or the names of // contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // This software is provided "AS IS," without a warranty of any // kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND // WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY // EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY // DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR // RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE OR // ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE // FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, // SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER // CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF // THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. // // You acknowledge that this software is not designed, licensed or // intended for use in the design, construction, operation or // maintenance of any nuclear facility. import java.awt.*; import javax.swing.*; import javax.swing.plaf.synth.*; public class GradientPainter extends SynthPainter { public void paintTextFieldBackground(SynthContext context, Graphics g, int x, int y, int w, int h) { // For simplicity this always recreates the GradientPaint, in a // real app you should cache this to avoid garbage. Graphics2D g2 = (Graphics2D)g; g2.setPaint(new GradientPaint((float)x, (float)y, Color.WHITE, (float)(x + w), (float)(y + h), Color.RED)); g2.fillRect(x, y, w, h); g2.setPaint(null); } }