|
| |
This example is very memory-intensive; if you don't see the image try quitting some
applications and reloading. This is more likely to happen with MS Internet Explorer than
Netscape. /**
RainbowText.java Display text in changing rainbow colors. @author Glenn A. Richard
@version 2.0, November 24, 1996 Center for High Pressure Research ESS Building SUNY at
Stony Brook Stony Brook, NY 11794 */ import java.awt.*; public class RainbowText extends
java.applet.Applet implements Runnable { private String textStr = null; private String
fontName; private int fontStyle; private int fontSize; private Color bgColor; private int
sleepTime; private String paramStr; private int strlen; private Thread runner = null;
private char theChars[]; private int charOffsets[]; private Color colors[]; private int
yOffset; private int phase = 0; private Image offScreenImage; private Graphics offScreenG;
private Font f; private FontMetrics fm; private boolean stopped = false; private String
pinfo[][]={ {"text", "String", "Text to display
(RainbowText)"}, {"bgcolor", "hex rrggbb color", "Background
color in rrggbb format (000000)"}, {"fontname", "String",
"Name of the font (TimesRoman)"}, {"fontstyle", "String",
"B = bold, I = italic, BI = both ()"}, {"fontsize", "int",
"Point size to be used (36)"}, {"sleeptime", "int",
"Milliseconds for sleep time (100)"} }; public void init() { float h; int
xPos=20; paramStr = getParameter("bgcolor"); if (paramStr == null) bgColor =
Color.black; else try { bgColor = new Color(Integer.parseInt(paramStr, 16)); } catch
(NumberFormatException e) { bgColor=Color.black; } setBackground(bgColor); textStr =
getParameter("text"); if (textStr == null) { textStr = "RainbowText";
} fontName = getParameter("fontname"); if (fontName == null) { fontName =
"TimesRoman"; } paramStr = getParameter("fontstyle"); if (paramStr ==
null) fontStyle = Font.PLAIN; else if (paramStr.equals("B")) fontStyle =
Font.BOLD; else if (paramStr.equals("I")) fontStyle = Font.ITALIC; else if
(paramStr.equals("BI")) fontStyle = Font.BOLD | Font.ITALIC; else fontStyle =
Font.PLAIN; paramStr = getParameter("fontsize"); if (paramStr == null) fontSize
= 36; else try { fontSize = Integer.parseInt(paramStr); } catch (Exception e) { fontSize =
36; } paramStr = getParameter("sleeptime"); if (paramStr == null) sleepTime =
100; else try { sleepTime = Integer.parseInt(paramStr); } catch (Exception e) { sleepTime
= 100; } f=new Font(fontName,fontStyle,fontSize); fm=getFontMetrics(f);
resize(40+fm.stringWidth(textStr),10+fm.getHeight()); yOffset = fm.getAscent()+5; strlen =
textStr.length(); theChars = new char [strlen]; charOffsets = new int [strlen];
textStr.getChars(0,strlen,theChars,0); colors = new Color[strlen]; for (int i = 0; i
HTML Source:
Author: Glenn Richard
Live Java Chat

Feel free to discuss the latest Java happenings, events, applets, techniques, how tos,
Web sites, etc. The chat will be live 24/7. Keep it on topic, and no profanity please.

|
|
|