1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
| /*
* 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 **
*********************************************************************
** Modificateur: Stéphane Maillard **
*********************************************************************
*/
// 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);
}
} |
Partager