Bonjour
J'essaie de modifier un applet java (je n'y connais rien) par modifs successives
L'applet est en .class
J'ai télécharger un décompileur (DJ Java Decompiler)
Jusque là tout va bien, mais maintenant je dois recompiler .... et je ne sais pas comment faire ?
Y a-t-il un Logiciel à télécharger ?
Ou puis-je copier l'applet décompiler dans ma page html ? si oui : où la mettre (je pense dans la balise "head" mais j'en suis pas sûr) ? et que dois modifier dans le texta pour que cela fonctionne :
Applet décompilée :
// Decompiled by DJ v3.8.8.85 Copyright 2005 Atanas Neshkov Date: 04/06/2005 02:29:31
// Home Page :
http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: watermessager.java
import java.applet.Applet;
import java.awt.*;
public class watermessager extends Applet
implements Runnable
{
public void init()
{
super.init();
setLayout(null);
addNotify();
prepareVariables();
d = size();
resize(d.width, d.height);
font = new Font(fontname, 1, fontsize);
g = getGraphics();
}
public void prepareVariables()
{
checkreg();
fontsize = getIntegerParameter("fontsize", 10);
textdelay = getIntegerParameter("textdelay", 10);
delay = getIntegerParameter("delay", 10);
fontname = getParameter("font");
foregroundcolor = new Color(getIntegerParameter("foreground", 16));
backgroundcolor = new Color(getIntegerParameter("background", 16));
for(maxitems = 0; getParameter("item" + maxitems) != null; maxitems++);
items = new String[maxitems];
for(j = 0; j < maxitems; j++)
items[j] = getParameter("item" + j);
}
public void run()
{
if(registered)
{
bufferscreen = createImage(d.width, d.height);
g2 = bufferscreen.getGraphics();
g2.setFont(font);
FontMetrics fontmetrics = g2.getFontMetrics(font);
int k = d.width - fontmetrics.stringWidth(items[0]) >> 1;
int i1 = (d.height >> 1) + (fontsize * 3 >> 2);
g2.setColor(backgroundcolor);
g2.fillRect(0, 0, d.width, d.height);
g2.setColor(foregroundcolor);
g2.drawString(items[0], k, i1);
waitForImage(bufferscreen);
j = l = iteration = 0;
do
{
while(j < fontsize)
{
for(i = 0; i < 2; i++)
{
time = System.currentTimeMillis();
water(g2, iteration);
update(g);
if(++iteration == 15)
iteration = 15;
g2.setColor(backgroundcolor);
g2.fillRect(0, 0, d.width, d.height);
g2.setColor(foregroundcolor);
g2.drawString(items[l], k, i1 - j);
waitForImage(bufferscreen);
if((time = (time + (long)delay) - System.currentTimeMillis()) > 0L)
try
{
Thread.sleep(time);
}
catch(InterruptedException _ex) { }
}
j++;
}
for(time2 = (long)textdelay + System.currentTimeMillis(); time2 - System.currentTimeMillis() > 0L;)
{
time = System.currentTimeMillis();
water(g2, iteration);
update(g);
if(++iteration == 15)
iteration = 0;
g2.setColor(backgroundcolor);
g2.fillRect(0, 0, d.width, d.height);
g2.setColor(foregroundcolor);
g2.drawString(items[l], k, i1 - j);
waitForImage(bufferscreen);
if((time = (time + (long)delay) - System.currentTimeMillis()) > 0L)
try
{
Thread.sleep(time);
}
catch(InterruptedException _ex) { }
}
while(j > 0)
{
time = System.currentTimeMillis();
water(g2, iteration);
update(g);
if(++iteration == 15)
iteration = 0;
g2.setColor(backgroundcolor);
g2.fillRect(0, 0, d.width, d.height);
g2.setColor(foregroundcolor);
g2.drawString(items[l], k, i1 - j);
waitForImage(bufferscreen);
j--;
if((time = (time + (long)delay) - System.currentTimeMillis()) > 0L)
try
{
Thread.sleep(time);
}
catch(InterruptedException _ex) { }
}
if(++l > maxitems - 1)
l = 0;
k = d.width - fontmetrics.stringWidth(items[l]) >> 1;
} while(true);
} else
{
g2.setColor(Color.black);
g2.fillRect(0, 0, d.width, d.height);
Font font1 = new Font("TimesRoman", 0, 12);
g2.setFont(font1);
g2.setColor(Color.yellow);
g2.drawString("Registration parameters must ", 0, 12);
g2.drawString("be specified. Contact Demicron:", 0, 24);
g2.drawString("
http://www.demicron.se", 200, 24);
update(g);
return;
}
}
public void water(Graphics g1, int k)
{
double d1 = (6.2831853071795862D * (double)k) / 15D;
for(int k1 = 0; k1 < d.height >> 1; k1++)
{
int i1 = (int)(2D * Math.sin(0.62831853071795862D * (double)(k1 << 1) + 4D * d1));
int j1 = (int)((80D * Math.sin((3.1415926535897931D * (double)k1) / 15D + d1)) / 15D);
g1.copyArea(0, k1 + j1, d.width, 1, i1 + (j1 >> 1), ((d.height >> 1) - k1 << 1) - 2 - j1);
}
}
boolean waitForImage(Image image)
{
MediaTracker mediatracker = new MediaTracker(this);
mediatracker.addImage(image, 0);
try
{
mediatracker.waitForID(0);
}
catch(InterruptedException _ex) { }
return !mediatracker.isErrorAny();
}
public void paint(Graphics g1)
{
if(bufferscreen != null)
g1.drawImage(bufferscreen, 0, 0, this);
}
public void update(Graphics g1)
{
paint(g1);
}
public void checkreg()
{
String s = getParameter("demicron");
String s1 = getParameter("reg");
if(s.compareTo("www.demicron.se") == 0 && s1.compareTo("A00046") == 0)
{
registered = true;
return;
} else
{
registered = false;
return;
}
}
public int getIntegerParameter(String s, int k)
{
String s1 = getParameter(s);
int i1;
try
{
i1 = Integer.parseInt(s1, k);
}
catch(NumberFormatException _ex)
{
return 0;
}
return i1;
}
public void start()
{
if(a_Thread == null)
{
a_Thread = new Thread(this);
a_Thread.start();
}
}
public void stop()
{
if(a_Thread != null && a_Thread.isAlive())
a_Thread.stop();
a_Thread = null;
}
public watermessager()
{
}
String items[];
private Graphics g;
private Graphics g2;
private Thread a_Thread;
private Image bufferscreen;
private final int ITERATIONS = 15;
private String fontname;
private int i;
private int j;
private int l;
private int textdelay;
private int delay;
private int maxitems;
private int iteration;
private Font font;
private int fontsize;
private Dimension d;
private Color backgroundcolor;
private Color foregroundcolor;
private boolean registered;
private long time;
private long time2;
}
Programme d'appel :
<!-- DEBUT DU SCRIPT -->
<!-- Script provenant de
http://www.toulouse-renaissance.net/c_outils/ -->
<APPLET CODE="watermessager.class" WIDTH=800 HEIGHT=100>
<PARAM NAME="reg" VALUE="A00046">
<PARAM NAME="demicron" VALUE="www.demicron.se">
<PARAM NAME="delay" VALUE="20">
<PARAM NAME="textdelay" VALUE="1500">
<PARAM NAME="fontsize" VALUE="35">
<PARAM NAME="item0" VALUE="Bienvenue sur le site de la">
<PARAM NAME="item1" VALUE="joie et de la bonne humeur">
<PARAM NAME="font" VALUE="Comic sans MS">
<PARAM NAME="foreground" VALUE="000066">
<PARAM NAME="background" VALUE="9791ff">
</APPLET>
<!-- FIN DU SCRIPT -->
En fait ce que je veux faire c'est supprimer le background, ou l'avoir transparent .... peut-être n'est-ce pas possible
Si vous pouviez me répondre pour m'aider, ce serait hyper sympa
Merci d'avance