- Code : Tout sélectionner
/*
* Created on 24 mars 2005
*/
/**
* @author SMaillard
*/
import java.awt.*;
public class jMarquee extends java.applet.Applet
implements Runnable {
/*********************************************************************
** Classe : jMarquee **
** ======== **
*********************************************************************
** Fonction : Remplace les balises <marquee></marquee> du HTML**
** Pour Lotus Notes **
*********************************************************************
** Paramètre = **
** *Couleur du texte => **
** RTexte : Couleur rouge du texte **
** Valeur : de 0 à 255 **
** VTexte : Couleur verte du texte **
** Valeur : de 0 à 255 **
** BTexte : Couleur bleu du texte **
** Valeur : de 0 à 255 **
** *Couleur de fond => **
** RFond : Couleur rouge du fond **
** Valeur : de 0 à 255 **
** VFond : Couleur verte du fond **
** Valeur : de 0 à 255 **
** BFond : Couleur bleu du fond **
** Valeur : de 0 à 255 **
** *Le message => **
** Message : Le message à afficher **
** Valeur : Texte entre guillemet **
** *Le temps d'attente => **
** Attente : n'importe quelle valeur **
** Limite l'Integer **
** Valeur : de 0 à x **
** *Le décalage => **
** Decalage: Par rapport au coin gauche **
** Valeur : de 0 à x **
** *Sens du défilement => **
** Sens : Sens du défilement **
** Valeur : 0 ou 1 (suivant le sens voulu) **
** *Police de caractère => **
** Police : Non d'une police du poste **
** Valeur : Exemple "Helvetica" **
** Taille : Taille de la police **
** Valeur : de 0 à x **
*********************************************************************
** Auteur : http://www.javafr.com/auteurdetail.aspx?ID=1593 **
** Modificateur: Stéphane Maillard **
** Original : http://www.javafr.com/code.aspx?ID=15385 **
*********************************************************************
*/
// Couleur du texte
int iRTexte, iVTexte, iBTexte;
// Nom de la police
String sPolice;
// Taille de la police
int iTaille;
// Couleur du fond
int iRFond, iVFond, iBFond;
// Message à faire défiler
String sMessage;
// Temps d'attente
int iAttente;
// Décalage
int iDecalage;
// Sens
int iSens;
// Thread
Thread tFil;
// Variable pour Run()
int iRun = 1;
// Position du texte en abscisse
int iAbscisse;
// Variable pour la création de l'image
Graphics gCreationImage;
// Image à affichée
Image imgImageAffiche;
// Initialisation
public void init() {
imgImageAffiche = createImage(getSize().width, getSize().height);
gCreationImage = imgImageAffiche.getGraphics();
// Récupère les paramètres du texte
iRTexte = Integer.parseInt(getParameter("RTexte"));
iVTexte = Integer.parseInt(getParameter("VTexte"));
iBTexte = Integer.parseInt(getParameter("BTexte"));
// Récupère le nom de la police
sPolice = getParameter("Police");
// Récupère la taille de la police
iTaille = Integer.parseInt(getParameter("Taille"));
// Récupère les paramètres du fond
iRFond = Integer.parseInt(getParameter("RFond"));
iVFond = Integer.parseInt(getParameter("VFond"));
iBFond = Integer.parseInt(getParameter("BFond"));
// Récupère le message à afficher
sMessage = getParameter("Message");
// Récupère le temps d'attente
iAttente = Integer.parseInt(getParameter("Attente"));
// Récupère le décalage
iDecalage = Integer.parseInt(getParameter("Decalage"));
// Récupère le sens
iSens = Integer.parseInt(getParameter("Sens"));
}
/****************************
* Démarrage
*
* @author SMaillard
****************************/
public void start() {
if (tFil == null) {
tFil = new Thread(this);
tFil.start();
}
}
/****************************
* Arrêt
*
* @author SMaillard
****************************/
public void stop() {
if (tFil != null) {
iRun = 0;
tFil = null;
}
}
/****************************
* Lancement
*
* @author SMaillard
****************************/
public void run() {
while(iRun == 1){
Direction();
}
}
/****************************
* Direction()
* Incrémente ou décrémente iAbscisse
* Par rapport au sens et au décalage
*
* @author SMaillard
****************************/
public void Direction() {
if (iSens == 1) {
for (iAbscisse = iDecalage; iAbscisse < 400; iAbscisse++) {
Attente();
}
}
if (iSens == 0) {
for (iAbscisse = 400; iAbscisse > iDecalage; iAbscisse--) {
Attente();
}
}
}
/****************************
* Attente()
* Attent entre chaque
* incrémentation
*
* @author SMaillard
****************************/
public void Attente() {
repaint();
try {
Thread.sleep(iAttente);
}
catch (InterruptedException ie) {}
}
/****************************
* Mise à jour
* Met à jour le graphique
*
* @author SMaillard
****************************/
public void update(Graphics g) {
paint(g);
}
/****************************
* Dessine
* Dessine le graphique
*
* @author SMaillard
****************************/
public void paint(Graphics g) {
gCreationImage.setColor(new Color(iRFond, iVFond, iBFond));
gCreationImage.fillRect(0, 0, 400, 400);
gCreationImage.setColor(new Color(iRTexte, iVTexte, iBTexte));
gCreationImage.setFont(new Font(sPolice, Font.BOLD, iTaille));
gCreationImage.drawString(sMessage, iAbscisse, 20);
g.drawImage(imgImageAffiche, 0, 0, this);
}
}