aqui tengo una pregunta, hize una ventana degradada [Azul & Rojo] e inicie con dos clases una para colocar el degrado & otra para hacer un degradado pero circular, a la hora de correr el programa me sale de esta manera:
Aqui es la cuestion necesito su apoyo u orientacion de como hacer para que ese circulo quede dentro del degradado rectangular.
Aqui estan los codigos que inicie:
en el MAIN
Código:
-------------------------------------------------------------------------------------------/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Proyects; import java.awt.GridLayout; import javax.swing.JFrame; /** * * @author Usuario */ public class Main extends JFrame{ private static void alumnos(){ //procedo a crear y preparar mi ventana JFrame ventana= new JFrame("Mis Degrados"); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ventana.getContentPane().setLayout(new GridLayout()); ventana.getContentPane().add (new degradadoHorizontal()); ventana.getContentPane().add (new Circulo()); ventana.setVisible(true); ventana.setSize(400,400); } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here javax.swing.SwingUtilities.invokeLater(new Runnable(){ public void run(){ alumnos(); } }); } }
Aqui mi primer Clase
Código:
-------------------------------------------------------------------------------------/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Proyects; import java.awt.Color; import javax.swing.JPanel; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; /** * * @author Usuario */ class degradadoHorizontal extends JPanel { public degradadoHorizontal() { } public void paint(Graphics g){ Graphics2D g2d=(Graphics2D)g; //Creo el degradado horizontal con las //coordenadas (0,0) al (anchura del componente, 0) GradientPaint horizontalGradient = new GradientPaint (0,0, Color.RED, getWidth(),0,Color.BLUE); g2d.setPaint(horizontalGradient); g2d.fillRect(0,0, getWidth(), getHeight()); } }
& aqui mi segunda clase donde coloque el circulo degradado
Código:
Ojala puedan ayudarme! Gracias de antemano Pd. Trabajo con Netbeans /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Proyects; import java.awt.geom.*; import java.awt.Color; import javax.swing.JPanel; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; /** * * @author DvdzhOk */ class Circulo extends JPanel { public Circulo() { } public void paint(Graphics g){ Graphics2D g2d=(Graphics2D)g; //Creo el degradado horizontal con las //coordenadas (0,0) al (anchura del componente, 0) // Gradiente de color de azul a verde GradientPaint gradiente = new GradientPaint(75,75,Color.blue, 100,100,Color.green); // Se fija el gradiente g2d.setPaint( gradiente ); // Circulo a rellenar Ellipse2D circulo = new Ellipse2D.Float(10,10,150,150); g2d.setPaint(gradiente); g2d.fill(circulo); } }