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 4182 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par khaoula dans java

s' il vous plait j'ai un projet de fin d'etude et je veux integrer une carte google maps dans une interface avec java et toujours j'aurais des problemes et merci de votre reponse

Publié par hungerGames dans php5

Salut!
je suis un debutant en php,et lorsque j'ai execute le code
sur la creation de la base 'member',on m'a affiche cet message:
"Undefined class constant 'ATT_ERRMOD...

Publié par Deepan dans php5

Bonjour,
Merci pour ce tuto qui m'a bien aide.
Je donne ici les modifications apportees pour que cela fonctionne chez moi.

/****************************************
* Ouvrir u...

Publié par Fobec dans tuto

Bonjour,

Sur Fobec.com, nous utilisons mod_expires.c pour envoyer automatiquement un code 304 au navigateur internet.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType im...

Publié par coramarr dans java

Peut-on trouver des infos sur cette suite qui serait utilise en statistiques. Des documents ou ouvrages qui relatent les divers possibilites d'utilisation de cette suite.
Je suis un particulier ni...