NervousText.java revision 0
/*
* Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
*
* - Neither the name of Sun Microsystems nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
*/
/**
* An applet that displays jittering text on the screen.
*
* @author Daniel Wyszynski 04/12/95
* @modified 05/09/95 kwalrath Changed string; added thread suspension
* @modified 02/06/98 madbot removed use of suspend and resume and cleaned up
*/
char bannerChars[]; // The same text as an array of characters
char attributes[]; // Character attributes ('^' for superscript)
boolean threadSuspended; // True when thread suspended (via mouse click)
static final int REGULAR_WD = 15;
static final int REGULAR_HT = 36;
static final int SMALL_WD = 12;
static final int SMALL_HT = 24;
public void init() {
banner = "HotJava";
}
int wd = 0;
for (int i = 0; i < bannerLength; i++) {
char a = 0;
if (c == '^') {
i++;
if (i < bannerLength) {
a = '^';
} else {
break;
}
}
wd += REGULAR_WD;
}
bannerChars = new char[bannerLength];
attributes = new char[bannerLength];
threadSuspended = false;
addMouseListener(this);
}
public void destroy() {
removeMouseListener(this);
}
public void start() {
}
public synchronized void stop() {
if (threadSuspended) {
threadSuspended = false;
notify();
}
}
public void run() {
try {
synchronized(this) {
while (threadSuspended) {
wait();
}
}
} catch (InterruptedException e){
}
repaint();
}
}
if (attributes[i] == '^') {
} else {
wd = REGULAR_WD;
ht = REGULAR_HT;
g.setFont(regularFont);
}
x += wd;
}
}
public synchronized void mousePressed(MouseEvent e) {
e.consume();
if (!threadSuspended)
notify();
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
public String getAppletInfo() {
return "Title: NervousText\nAuthor: Daniel Wyszynski\nDisplays a text banner that jitters.";
}
public String[][] getParameterInfo() {
{"text", "string", "Text to display"},
};
return pinfo;
}
}