Publié le 29/08/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Afficher un fond degrade dans un JPanel

Dans les interfaces graphiques, le fond des composants est de couleur unie par défaut. Pour donner un effet visuel à un conteneur tel que le jPanel voyons comment afficher un arrière-plan dégradé. Dans l'exemple, le degradé de deux couleurs est obtenu en surchargeant l'evenement Paint() et non pas pas ajout d'une image en arrière plan.

Dessiner un fond dégradé dans un composant

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 degrade dans un JPanel
 * http://www.fobec.com/java/983/afficher-fond-degrade-dans-jpanel.html
 * Fobec 2010
 */
public class DegradPanel extends JPanel {
 
    /**
     * Constructeur
     */
    public DegradPanel() {
        super();
    }
 
    /**
     * Surcharger l'evenement Paint
     * @param _g 
     */
    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);
    }
 
    /**
     * Exemple dans un jFrame
     * @param args 
     */
    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);
    }
}

Afin d'ajouter cette propriété à un JPanel, il est préférable de créer un composant hérité de JPanel avec des setteurs et getteurs pour fixer les couleurs du dégradé.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
29/08/2010
Visualisation
vu 4192 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Mosard dans java

Bonsoir je voulais inclure un fichier txt dans mon programme cependant j'avais pas vraiment d'idee,mais j 'ai deja une idee je vais essayer. Merci beaucoup

Publié par Candide dans logiciel

Cree avec Lazarus.
un help est fourni dans le ZIP

Publié par Roy2014 dans tuto

Bonjour et merci pour ce tuto interessant. Je pense que tout le monde souffre avec 1and1 du fait que l'on puisse pas gziper directement via le htaccess!!
j'aurais une petite question:
tu dis a p...

Publié par adilo dans CMS

merci d\'avance monsieur le precedant

Publié par liomka dans java

Merci! C'étais l'exemple parfait donc j'avais besoin pour apprendre la programmation Client/Serveur en Java ;)