Java examples for 2D Graphics:Gradient
A Custom JPanel With a Gradient Color Effect Using the Per-Pixel Translucency
import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Paint; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; class TranslucentJPanel extends JPanel { private int red = 240; private int green = 240; private int blue = 240; @Override/*w w w. j a va2 s. c om*/ protected void paintComponent(Graphics g) { if (g instanceof Graphics2D) { int width = this.getWidth(); int height = this.getHeight(); float startPointX = 0.0f; float startPointY = 0.0f; float endPointX = width; float endPointY = 0.0f; Color startColor = new Color(red, green, blue, 255); Color endColor = new Color(red, green, blue, 0); Paint paint = new GradientPaint(startPointX, startPointY, startColor, endPointX, endPointY, endColor); Graphics2D g2D = (Graphics2D) g; g2D.setPaint(paint); g2D.fillRect(0, 0, width, height); } } } public class Main extends JFrame { private JButton closeButton = new JButton("Close"); public Main() { super(); setDefaultCloseOperation(EXIT_ON_CLOSE); setUndecorated(true); setBackground(new Color(0, 0, 0, 0)); setSize(200, 200); setLocationRelativeTo(null); getContentPane().setLayout(new GridLayout(0, 1)); add(new TranslucentJPanel()); add(closeButton); closeButton.addActionListener(e -> System.exit(0)); } public static void main(String[] args) { Main frame = new Main(); frame.setVisible(true); } }