Utilizar Jpanel degradado con la clase Gradiente

Publicado: octubre 4, 2007 en General, Swing
Etiquetas:, ,
Ahora podemos modificar la clase JPanelgradient
y poder utilizarla con la clase gradiente
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JPanel;


/**
 *
 * @author Edisoncor
 */
public class JPanelGradient extends JPanel{

    private Gradiente gradiente;

    
    public JPanelGradient() {
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2 = (Graphics2D) g.create();
        Rectangle clip = g2.getClipBounds();
        if (gradiente!=null)
            g2.setPaint(gradiente.getGradiente());
        g2.fillRect(clip.x, clip.y, clip.width, clip.height);
    }

    public Gradiente getGradiente() {
        return gradiente;
    }

    public void setGradiente(Gradiente gradiente) {
        gradiente.setComponente(this);
        this.gradiente = gradiente;
    }

}

luego podemos realizar lo siguiente para utilizar este panel
/**
 *
 * @author  Edisoncor
 */
public class NewJFrame extends JFrame {
    private Gradiente gradiente3;
    private JEPanelGradient jEPanelGradient1;


    public NewJFrame() {
        initComponents();
    }


    private void initComponents() {
        gradiente3 = new Gradiente();
        jEPanelGradient1 = new JPanelGradient();

        gradiente3.setATipo(Gradiente.LINEAR_VERTICAL);
        gradiente3.setColor1(new java.awt.Color(204, 204, 255));
        gradiente3.setColor2(new java.awt.Color(0, 51, 51));

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jEPanelGradient1.setLayout(new java.awt.BorderLayout());

        jEPanelGradient1.setGradiente(gradiente3);
        getContentPane().add(jEPanelGradient1, java.awt.BorderLayout.CENTER);

        pack();
    }                     

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }                                       

}

y el resultado es
JFrame

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s