Affichage d'un message avec effet de fondu

Soyez le premier à donner votre avis sur cette source.

Vue 17 480 fois - Téléchargée 1 016 fois

Description

Le code afiche un message de façon esthetique, un effet de fondu jaune sur fond noir.

Source / Exemple :


import java.awt.*;

public class Clign extends java.applet.Applet  implements Runnable
{
Thread t;
int Indic = 1, x1, x2;
Graphics Gmem;  //Déclaration d'un objet graphics 
Image ii; //Objet image
String text[]={"Bienvenue", "      sur", " PCisland"};            //message à afficher

        public void init()
	{
        ii = createImage(getSize().width,getSize().height);   //création d'une image à la taille de l'applet
        Gmem = ii.getGraphics();   //Pour le création de l'image avec les outils graphiques de java
        }

//Démarrage du Thread
        public void start()
        {
        	if(t==null)
                {
                t = new Thread(this);
                t.start();
                }
        }

//Arrêt du Thread
        public void stop()
        {
        if(t!=null)
        {
        Indic =0;
        t=null;
        }
        }

        public void run()
        {
        	while(Indic==1)
        	{
                for(x2=0; x2<3; x2++)  //Passe les mots un par un ici 3 mots
                {
                        for(x1=0;x1<256;x1+=2)        //Augmente le ton de la couleur 
        		{
                        attendre(10);
                        }
                        for(x1=255; x1>0;x1--)       //Diminue le ton de la couleur
                        {
                        attendre(8);
                        }
                }
        	}
        }

        public void attendre(int t)       //fonction d'attente + rafraichissement applet
        {
                        repaint();
        		try
        		{
        		Thread.sleep(t);
        		}
                        catch(InterruptedException ie)
                        {
                        }
        }

//Pour éviter les scintillement
        public void update(Graphics g)
        {
        paint(g);
        }

        public void paint(Graphics g)
        {
        Gmem.setColor(Color.black);     //Couleur de fond
        Gmem.fillRect(0,0,300,100);       //rectangle à la taille de l'applet
        Gmem.setColor(new Color(x1,x1,0));     //Couleur du texte
        Gmem.setFont(new Font("Helvetica",Font.BOLD,40));  //Police du texte+taille
        Gmem.drawString(text[x2],55,60);      //Affichage des messages
        g.drawImage(ii,0,0,this);      //Affichage de l'image 
        }
}

Conclusion :


Pour faire un effet de fondu, on utilise les thread pour créer une animation.
Toute les x secondes on augmente les ton des couleurs RGB ce qui donne cet effet.
Le reste de l'explication est dans la source.
Si vous avez des questions écrivez moi!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

goldtiger
Messages postés
33
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
7 février 2012
-
wow ça c du code ;)
bobbyf
Messages postés
4
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
25 mai 2003
-
j'ai essaye d'ajouter le code suivant pour passer l'applet en application mais quand je fait java j'ai un java.NullPointerException at Clign.init . merci de me repondre

public static void main(String args[]) {
Frame frame = new Frame();
Clign ap = new Clign();
ap.init();
ap.start();
frame.add("Center",ap);
frame.setSize(400,150);
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
cs_Bog
Messages postés
29
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
28 janvier 2003
-
G fait un travail équivalent pour un ancien projet...
T'as qu'à aller voir ce que ca donne, je pense pas que t'aies besoin de threads pour les fadings.
http://www.javafr.com/article.aspx?Val=78

En plus j'ai tout expliqué, commenté le code pour personnaliser son texte et les couleurs de fading.
Dis moi ce que tu (vous) en penses (pensez).

A+
gg00xiv
Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
12 -
prout

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.