Wake-up a Java appletTag(s): Javascript interaction
When moving the mouse over an image, we want to start an applet (here a simple chronometer), and when the mouse leave the image, the Applet should stop.
[JAVA APPLET]
import java.applet.*;
import java.awt.*;
public class JavaChrono extends Applet {
String previousTime = "0" ;
String currentTime = "0";
long j,k, l;
boolean okToChrono = false;
Color b, f;
public void init() {
b = getBackground();
f = getForeground();
MyThread tm = new MyThread(this);
tm.start();
}
public void startChrono() {
j = System.currentTimeMillis();
okToChrono = true;
}
public void stopChrono() {
okToChrono = false;
}
public void paint(Graphics g) {
if (okToChrono) {
g.setColor(b);
g.drawString(previousTime,10,30);
g.setColor(f);
k = System.currentTimeMillis();
l = k-j;
currentTime = Long.toString(l/1000);
g.drawString(currentTime,10,30);
previousTime = currentTime;
}
}
}
class MyThread extends Thread {
JavaChrono theApplet;
public MyThread(JavaChrono a) {
theApplet = a;
}
public void run() {
while (true) {
try {
theApplet.repaint();
this.sleep(1000);
}
catch(InterruptedException e) { }
}
}
}[HTML]
<HTML><HEAD></HEAD><BODY>
<APPLET CODE=JavaChrono.class
WIDTH=150
HEIGHT=150>
</APPLET>
<A HREF=""
onMouseOver="document.applets[0].startChrono()"
onMouseOut="document.applets[0].stopChrono()" >
<IMG SRC="whatever.gif" WIDTH=100 HEIGHT=100>
</A>
</BODY></HTML>In the next example, when we click on a FORM's button, we tell the applet to open or close a frame.
[HTML]
<HTML> <HEAD></HEAD> <BODY> <APPLET NAME="myApplet" CODE="MyApplet.class" HEIGHT=1 WIDTH=1></APPLET> <FORM> <INPUT TYPE="button" VALUE="Start the Applet" onClick= "if (document.applets[0].isActive()) document.myApplet.showFrame()"> <INPUT TYPE="button" VALUE="Stop the Applet" onClick= "if (document.applets[0].isActive()) document.myApplet.disposeFrame()"> </FORM></BODY></HTML>
[JAVA APPLET]
import java.applet.*;
import java.awt.*;
public class MyApplet extends Applet {
Frame f = null;
public void init() { }
public void showFrame() {
if (f == null) {
f = new Frame();
f.setSize(100,100);
f.add(new Label("Hello World"));
f.setVisible(true);
}
}
public void disposeFrame() {
if (f != null) {
f.dispose();
f = null;
}
}
}
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com