Hola amigos!
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:
/*
* 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);
}
}
Ojala puedan ayudarme! Gracias de antemano
Pd. Trabajo con Netbeans