|
What this is
Other links
The source codepackage com.incors.plaf.kunststoff; /* * This code was developed by INCORS GmbH (www.incors.com). * It is published under the terms of the GNU Lesser General Public License. */ import java.awt.*; import javax.swing.*; import javax.swing.plaf.*; import javax.swing.plaf.metal.*; public class KunststoffScrollBarUI extends MetalScrollBarUI { public static ComponentUI createUI(JComponent c) { return new KunststoffScrollBarUI(); } protected JButton createDecreaseButton(int orientation) { decreaseButton = new KunststoffScrollButton(orientation, scrollBarWidth, isFreeStanding); return decreaseButton; } protected JButton createIncreaseButton(int orientation) { increaseButton = new KunststoffScrollButton(orientation, scrollBarWidth, isFreeStanding); return increaseButton; } /** * Calls the super classes paint(Graphics g) method and then paints two gradients. * The direction of the gradients depends on the direction of the scrollbar. */ protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) { super.paintThumb(g, c, thumbBounds); // colors for the reflection gradient Color colorReflection = KunststoffLookAndFeel.getComponentGradientColorReflection(); Color colorReflectionFaded = KunststoffUtilities.getTranslucentColor(colorReflection, 0); // colors for the shadow gradient Color colorShadow = KunststoffLookAndFeel.getComponentGradientColorShadow(); Color colorShadowFaded = KunststoffUtilities.getTranslucentColor(colorShadow, 0); Rectangle rectReflection; // rectangle for the reflection gradient Rectangle rectShadow; // rectangle for the shadow gradient if (scrollbar.getOrientation() == JScrollBar.VERTICAL) { rectReflection = new Rectangle(thumbBounds.x+1, thumbBounds.y, thumbBounds.width/2, thumbBounds.height); rectShadow = new Rectangle(thumbBounds.x + thumbBounds.width/2, thumbBounds.y, thumbBounds.width/2+1, thumbBounds.height); } else { rectReflection = new Rectangle(thumbBounds.x, thumbBounds.y+1, thumbBounds.width, thumbBounds.height/2); rectShadow = new Rectangle(thumbBounds.x, thumbBounds.y + thumbBounds.height/2, thumbBounds.width, thumbBounds.height/2+1); } // the direction of the gradient is orthogonal to the direction of the scrollbar boolean isVertical = (scrollbar.getOrientation() == JScrollBar.HORIZONTAL); KunststoffUtilities.drawGradient(g, colorReflection, colorReflectionFaded, rectReflection, isVertical); KunststoffUtilities.drawGradient(g, colorShadowFaded, colorShadow, rectShadow, isVertical); } } |
... 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.