/* Daniel Wyszynski
Center for Applied
Large-Scale Computing (CALC)
04-12-95
Test of text animation.
kwalrath: Changed
string; added thread suspension. 5-9-95
*/
package sun.beanbox.beans;
import java.awt.event.*;
import java.awt.Graphics;
import java.awt.Font;
import java.awt.*;
public class NervousText01 extends Panel implements Runnable, MouseListener {
char separated[];
String s = null;
Thread killme =
null;
int i;
int x_coord = 0,
y_coord = 0;
String num;
int speed=35;
int counter =0;
boolean threadSuspended
= false; //added by kwalrath
// (06/28/97 08:21:45 AM)
public NervousText01() {
System.err.println("ENTER---> NervousText01
constructor");
addMouseListener(this);
// s = getParameter("text");
if (s == null)
{
//s = "HotJava";
s = "Nervous Bean";
}
separated =
new char [s.length()];
s.getChars(0,s.length(),separated,0);
resize((s.length()+1)*15,
50);
setFont(new Font("TimesRoman",Font.BOLD,36));
start();
System.err.println("EXIT----> NervousText01
constructor");
}
public void setText(String newstring){
s=new String(newstring);
separated= new
char[s.length()];
s.getChars(0,s.length(),separated,0);
}
public String getText(){
return(s);
}
public void start() {
if(killme == null)
{
killme = new Thread(this);
killme.start();
}
}
public Dimension preferredSize() {
// use this for a fixed size bean
// public Dimension getMinimumSize()
{ // use this for a variable size bean
return (new Dimension(150,150));
}
public void stop() {
killme = null;
}
public void run() {
while (killme !=
null) {
try {Thread.sleep(100);}
catch (InterruptedException e){}
repaint();
}
killme = null;
}
public void paint(Graphics g) {
for(i=0;i<s.length();i++)
{
x_coord = (int)
(Math.random()*10+15*i);
y_coord = (int)
(Math.random()*10+36);
g.drawChars(separated,
i,1,x_coord,y_coord);
}
}
public void mousePressed(MouseEvent
e) {
/*
e.consume();
if (threadSuspended)
{
killme.resume();
}
else {
killme.suspend();
}
threadSuspended
= !threadSuspended;
*/
}
public void mouseReleased(MouseEvent
e) {
}
public void mouseEntered(MouseEvent
e) {
}
public void mouseExited(MouseEvent
e) {
}
public void mouseClicked(MouseEvent
e) {
}
}