Tendrás que hacer unas pequeñas operaciones para calcular el punto de inicio de la elipse.
Código Java:
Ver original/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package gradiente;
import java.awt.Color;
import javax.swing.JPanel;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
/**
*
* @author Usuario
*/
public class degradadoHorizontal
extends JPanel {
public degradadoHorizontal() {
}
float totalHeight = getHeight();
float totalWidth = getWidth();
//Creo el degradado horizontal con las
//coordenadas (0,0) al (anchura del componente, 0)
g2d.setPaint(horizontalGradient);
g2d.fillRect(0,0, (int)totalWidth, (int)totalHeight);
float width = 150, height = 150;
//Creo el degradado horizontal con las
//coordenadas (0,0) al (anchura del componente, 0)
// Gradiente de color de azul a verde
float coordenadaX, coordenadaY;
coordenadaX = (totalWidth /2) - (width /2);
coordenadaY = (totalHeight / 2) - (height /2);
// Se fija el gradiente
g2d.setPaint( gradiente );
// Circulo a rellenar
g2d.setPaint(gradiente);
g2d.fill(circulo);
}
}