Java Swing Tutorial - Java GradientPaint .createContext (ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)








Syntax

GradientPaint.createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints) has the following syntax.

public PaintContext createContext(ColorModel cm,    Rectangle deviceBounds,    Rectangle2D userBounds,    AffineTransform xform,    RenderingHints hints)

Example

In the following code shows how to use GradientPaint.createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints) method.

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;
import java.awt.image.ColorModel;
// ww  w  . j  a v  a2s.co m
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel {

  public void paint(Graphics g) {
    super.paint(g);
    Graphics2D g2d = (Graphics2D) g;

    GradientPaint gp1 = new GradientPaint(5, 5, Color.red, 20, 20, Color.yellow, true);
    
    gp1.createContext(ColorModel.getRGBdefault(), new Rectangle(0,0,30,40), new Rectangle(0,0,30,40), 
        new AffineTransform(), null);
    
    System.out.println(gp1.getTransparency());
    g2d.setPaint(gp1);
    g2d.fillRect(20, 20, 300, 40);

  }

  public static void main(String[] args) {

    JFrame frame = new JFrame("GradientsRedYellow");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(new Main());
    frame.setSize(350, 350);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}