Update of /cvsroot/jython/htdocs/applets
In directory slayer.i.sourceforge.net:/tmp/cvs-serv20295
Added Files:
JythonLoader.java
Log Message:
First version.
--- NEW FILE ---
import java.applet.*;
import java.awt.*;
import java.util.*;
public class JythonLoader extends Applet implements Runnable {
public Label etime, l1, l1a;
Thread timer;
long initialTime;
public void init() {
setFont(new Font("Normal", Font.BOLD, 15));
l1 = new Label("Jython Library is loading...");
l1.setAlignment(Label.CENTER);
l1a = new Label("Please wait");
l1a.setAlignment(Label.CENTER);
l1a.setForeground(Color.red);
Label l2 = new Label("Elapsed time: ");
l2.setAlignment(Label.RIGHT);
etime = new Label("0:00.0");
etime.setFont(new Font("Courier", Font.BOLD, 15));
GridBagConstraints c = new GridBagConstraints();
GridBagLayout bag = new GridBagLayout();
setLayout(bag);
c.fill = GridBagConstraints.BOTH;
c.gridwidth = GridBagConstraints.REMAINDER;
bag.setConstraints(l1, c);
add(l1);
bag.setConstraints(l1a, c);
add(l1a);
c.gridwidth = GridBagConstraints.RELATIVE;
c.weightx = 1.0;
bag.setConstraints(l2, c);
add(l2);
c.gridwidth = GridBagConstraints.REMAINDER;
c.weightx = 0.0;
bag.setConstraints(etime, c);
add(etime);
}
public void paint(Graphics g) {
Dimension d = getSize();
g.drawRect(1,1,d.width-3, d.height-3);
g.drawRect(3,3,d.width-7, d.height-7);
}
public Insets getInsets() {
return new Insets(7,7,7,7);
}
private int activeApplets() {
Enumeration e = getAppletContext().getApplets();
int n;
for (n=0; e.hasMoreElements(); ) {
Applet a = (Applet)e.nextElement();
if (a != null && a.isActive())
n++;
}
return n;
}
private void updateText() {
long t0 = System.currentTimeMillis()-initialTime;
String minutes = Integer.toString((int)(t0/1000)%60);
if (minutes.length() < 2)
minutes = "0"+minutes;
String ts = ""+(t0/60000)+":"+minutes+"."+((t0/100)%10);
etime.setText(ts); //+", "+activeApplets());
}
private void done() {
l1.setText("Jython Loading Complete");
l1a.setText("");
}
public void run() {
//Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
//System.out.println("Running");
while (true) {
//System.out.println("Running");
int n = activeApplets();
if (n > 1)
break;
updateText();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
break;
}
}
done();
}
public void start() {
initialTime = System.currentTimeMillis();
timer = new Thread(this);
timer.start();
}
}
|