Défilement vertical d'un texte dans une applet

Description

Le code fait défiler du texte dans une applet.
Le code marche avec le jdk 1.1 ou 1.2. Pour ceux qui possèdent le 1.0 supprimez la variable Indic et remplacez la méthode stop par ceci

public void stop() remplacez aussi getSize() par Size()
{
if(t!=null)
{
t.stop();
t=null;
}
}

Pour les jdk plus récents ça marche peu être, je ne sais pas, si celà ne marche pas prévenez moi!

Source / Exemple :


import java.awt.*;

public class Scroll2 extends java.applet.Applet  implements Runnable
{
Thread t;
int Indic = 1, y1;
Graphics Gmem;
Image ii;

        public void init()
	{
        ii = createImage(getSize().width,getSize().height); //création d'une image à la taille de l'applet
        Gmem = ii.getGraphics();  //Permet la création de l'image par des méthodes graphiques
        }

        public void start()
        {
        	if(t==null)
                {
                t = new Thread(this);
                t.start();
                }
        }

        public void stop()
        {
        if(t!=null)
        {
        Indic =0;
        t=null;
        }
        }

        public void run()
        {
        	while(Indic==1)
        	{
        		for(y1=-15;y1<120;y1++)  //On augmente y1 pour faire bouger le texte de haut en bas
        		{
                         repaint();
        		try
        		{
        		Thread.sleep(20);
        		}
                        catch(InterruptedException ie)
                        {
                        }
                        }
        	}
        }

//Permet d'éviter le scintillement
        public void update(Graphics g)
        {
        paint(g);
        }

        public void paint(Graphics g)
        {
        Gmem.setColor(Color.black);  //Couleur de fond
        Gmem.fillRect(0,0,260,100);  //ramplissage du fond de l'applet
        Gmem.setColor(Color.yellow); //couleur du texte
        Gmem.setFont(new Font("Helvetica",Font.BOLD,20)); //Police+taille du texte
        Gmem.drawString("Voici un texte qui défile",15,y1); //Le texte + sa position
        g.drawImage(ii,0,0,this);  //Affichage de l'image
        }
}

Conclusion :


On définit un thread pour pouvoir effectuer l'affichage des images toutes les x ms.
Indic est une variable qui sert à faire tourner la méthode run();
x1 sert à définir la position du texte en abscisse.
Gmem est une variable qui servira à la création de l'image.
ii est l'image qui sera affichée.
Le reste est expliqué dans la source, modifiez les paramètres à votre guise pour obtenir l'effet souhaité.

Voici le code à insérer dans la page web pour qu'elle s'affiche correctement:
<applet code="Scroll2.class" height="100" width="260">

Si vous avez des questions écrivez moi!

Codes Sources

A voir également

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.