GradientPanel.java
01 package com.jgoodies.uif_lite.panel;
02 
03 import java.awt.Color;
04 import java.awt.GradientPaint;
05 import java.awt.Graphics;
06 import java.awt.Graphics2D;
07 import java.awt.LayoutManager;
08 import java.awt.Paint;
09 
10 import javax.swing.JPanel;
11 import javax.swing.UIManager;
12 
13 /**
14  * A panel with a horizontal gradient background.
15  */
16 public final class GradientPanel extends JPanel {
17 
18     public GradientPanel(LayoutManager lm, Color background) {
19         super(lm);
20         setBackground(background);
21     }
22 
23     public void paintComponent(Graphics g) {
24         super.paintComponent(g);
25         if (!isOpaque()) {
26             return;
27         }
28         Color control = UIManager.getColor("control");
29         int width  = getWidth();
30         int height = getHeight();
31 
32         Graphics2D g2 = (Graphics2Dg;
33         Paint storedPaint = g2.getPaint();
34         g2.setPaint(
35             new GradientPaint(00, getBackground(), width, 0, control));
36         g2.fillRect(00, width, height);
37         g2.setPaint(storedPaint);
38     }
39 }