Page 1 sur 2
Classe JAVA jMarquee

Publié:
24 Mars 2005 à 22:37
par Stephane Maillard
- 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);
}
}

Publié:
25 Mars 2005 à 10:15
par Stephane Maillard
Bonjour,
Exemple d'utilisation dans Lotus Notes :
Dans Designer Base de Test/Ressources partagées/Applets ensuite Nouvelle ressource d'applet dans répertoire de base mettre le répertoire ou vous avez mis votre applet séléctionnez le fichier avec l'extention .class cliquez sur Ajouter/rempl. fichier(s) ensuite cliquez sur OK, donnez un nom à votre ressource.
Dans votre masque :
Création/Applet java.../Localiser dans parcourir mettre Ressources patagées dans base de document mettre Base courante, sélectionnez votre ressource et le fichier avec l'extention .class cliquez sur Ajouter/rempl. fichier(s) dans Classe base sélectionnez votre classe.
Dans paramètre d'applet créez les paramètres donné dans les commentaires, ne pas oublier de renseigner les paramètres par une valeur, une formule ou un champs.
Si vous utilisez un champs voici le code changer les valeurs des paramètres :
Sub Click(Source As Button)
Dim Ws As New NotesUIWorkspace
Dim UiDoc As NotesUIDocument
Dim sTexte As String
Set UiDoc = Ws.CurrentDocument
sTexte = Inputbox("Entrez un message")
Call UiDoc.FieldSetText("fld_Message", sTexte)
Call UiDoc.Refresh()
End Sub

Publié:
25 Mars 2006 à 12:09
par sixela
re-Bonjour Stéphane,
Le développement d'applets en JAVA sous domino, c'est un point que je vais au cours des prochains jours/semaines essayer d'assimiler.
J'ai donc bêtement copier-coller-compiler ton applet.
J'ai suivi tes instructions d'intégration dans un masque, renseigné chaque paramètre dans le bon type spécifié. Je lance le masque, et là "Applet Start : applet non initialisée" : peux-tu m'accorder un peu de temps pour m'aider dans ce sens ? Je suis persuadé que pour quelqu'un d'averti, la solution doit être toute bête (ce n'est pas mon cas en JAVA..

)

Publié:
25 Mars 2006 à 12:12
par Stephane Maillard
Salut,
J'ai eu pas mal de déboire pour la faire fonctionner avec la JVM de Java, mais avec celle de Microsoft tout à rouler correctement pour moi, j'étais en 6.5.1 fr.

Publié:
25 Mars 2006 à 12:14
par Stephane Maillard

Publié:
25 Mars 2006 à 12:18
par sixela
re,
Ma jvm est régulièrement à jour, d'ailleurs je mets toujours à jour mes versions pour éviter des redondances. Celle-ci fonctionne sur mon poste très bien, j'affiche sans problèmes tout type d'applet sur le web.
Tu penses que çà vient de ma jvm alors qu'elle est à jour ?????

Publié:
25 Mars 2006 à 12:22
par Stephane Maillard
Re,
La JVM de Sun pose des pb avec Domino/Notes IBM préconise de prendre celle de Microsoft qui résoud certain pb. Bien à tester.

Publié:
25 Mars 2006 à 12:25
par sixela
re

,
C'est la réponse que j'attendais ; je m'en vais donc essayer çà.
C'est vraiment toujours étonnant quand même (utiliser la jvm de Microsoft...ils sont forts commercialement quand même...)
Merci pour ta réactivité Stéphane


Publié:
25 Mars 2006 à 12:40
par Stephane Maillard
Re,
Voici la source ainsi que le fichier compiler.

Publié:
25 Mars 2006 à 12:56
par Stephane Maillard
Re,
Voici une base de test qui fonctionne sur mon poste.

Publié:
25 Mars 2006 à 13:05
par sixela
re,
Merci Stéphane, j'ai comparé les sources .java, ce sont les mêmes.
A tout hasard, j'ai quand même ajouté ton .class à la place du mien.
Toujours le même problème. J'ai désinstallé mes runtimeEnvironment-java-sun et toujours problème d'install de la jvm-microsoft. Je vais désinstaller mon sun-JDK qui doit posséder lui aussi une jvm, çà devrait fonctionner ensuite...

Publié:
25 Mars 2006 à 13:10
par sixela
re,
Hmm, quelle version de la jvm m'as-tu donné sur le lien ? pour quelle plateforme ?
J'ai essayé ce lien >>
http://www.meetingworks.com/files/msjavx86.exe
et l'installation a fonctionné de suite.
Bon je re-démarre tout pour être clean et je te redirai quoi....

Publié:
25 Mars 2006 à 13:18
par sixela
Ce n'est pas gagné : çà ne marche pas encore.
Petite vérification :
- j'ai nommé la ressource d'applet jMarquee.class : cela ne pose pas de problème je suppose : on peut nommer comme on veut la resource, pas comme les fichiers java...
Une autre piste Stéphane ?
Désolé pour le dérangement, mais lorsqu'on commence quelque chose, des fois çà peut-être laborieux...

Publié:
25 Mars 2006 à 13:21
par Stephane Maillard
Re,
Non pas d'autre piste, ce qui est bizarre je viens faire une base de test pour voir si je n'avait rien oublié et chez moi elle fonctionne. Tu as essayé avec la base de test que je tes mise ? Autrement essai sans passer par une ressource partagé.

Publié:
25 Mars 2006 à 13:54
par sixela
Re,
Oui, j'ai essayé avec le fichier .class contenu dans ton zip.
J'ai ré-essayé avec le mien et sans ressource partagée, tu as mis dans le "mil", çà fonctionne.
En quoi ma ressource ne fonctionne-t-elle pas ?
Tu ajoutes ton applet en ressource, tu la nommes comme tu veux, tu la choisis dans ton masque, et puis c'est tout... Je ne vois pas d'où vient le problème en passant par une ressource..