Afficher un fond dégradé dans un JPanel

La fonction GradientPaint définit un dégradé de 2 couleurs. En surchargeant la méthode paint du JPanel, le composant va se dessiner avec un dégradé, dans notre cas du vert au jaune. 
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 * Afficher un fond dégradé dans un JPanel
 */
public class DegradPanel extends JPanel {

    public DegradPanel() {
        super();
    }

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

        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        Rectangle bounds = getBounds();
        Paint gradientPaint = new GradientPaint(0, bounds.y, Color.GREEN,
                0, bounds.y + bounds.width, Color.YELLOW);
        g.setPaint(gradientPaint);
        g.fillRect(0, 0, bounds.width, bounds.height);
    }

    public static void main(String args[]) {
        DegradPanel degradPanel = new DegradPanel();
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(degradPanel);
        frame.setSize(400, 400);
        frame.setLocation(200, 200);
        frame.setVisible(true);
    }
}
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour29/08/2010
VisualisationVu 978 fois
PublicInternaute
CategorieJAVA - Sources - AWT
Auteur de l'article
fobec fobec
connecté le 01/02/2012
36 ans - France Nord-Est
45 articles dans la section
Contacter l'auteur
Partager l'article