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 = (Graphics2D) g;
33 Paint storedPaint = g2.getPaint();
34 g2.setPaint(
35 new GradientPaint(0, 0, getBackground(), width, 0, control));
36 g2.fillRect(0, 0, width, height);
37 g2.setPaint(storedPaint);
38 }
39 }
|