diff options
author | mrkam <none@none> | 2011-03-25 17:52:51 +0100 |
---|---|---|
committer | mrkam <none@none> | 2011-03-25 17:52:51 +0100 |
commit | 34e0ebd268f5c473d3eaf43f9aedc02e1707261b (patch) | |
tree | 273e32451ff042ced4108f302b426aa29c8f2247 /src/share/demo/applets/Blink/Blink.java | |
parent | f3fe7b7272e1cbdf239b90884d412328af85af04 (diff) | |
download | jdk8u_jdk-34e0ebd268f5c473d3eaf43f9aedc02e1707261b.tar.gz |
7027675: /applets/Blink demo needs to be improved
Reviewed-by: alexp
Diffstat (limited to 'src/share/demo/applets/Blink/Blink.java')
-rw-r--r-- | src/share/demo/applets/Blink/Blink.java | 68 |
1 files changed, 41 insertions, 27 deletions
diff --git a/src/share/demo/applets/Blink/Blink.java b/src/share/demo/applets/Blink/Blink.java index 3495dc9ef0..ab6f9795cc 100644 --- a/src/share/demo/applets/Blink/Blink.java +++ b/src/share/demo/applets/Blink/Blink.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -29,92 +29,106 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* - */ /** * I love blinking things. * * @author Arthur van Hoff - * @modified 04/24/96 Jim Hagen use getBackground - * @modified 02/05/98 Mike McCloskey removed use of deprecated methods - * @modified 04/23/99 Josh Bloch, use timer instead of explicit multithreading. - * @modified 07/10/00 Daniel Peek brought to code conventions, minor changes + * @author 04/24/96 Jim Hagen use getBackground + * @author 02/05/98 Mike McCloskey removed use of deprecated methods + * @author 04/23/99 Josh Bloch, use timer instead of explicit multithreading. + * @author 07/10/00 Daniel Peek brought to code conventions, minor changes */ +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.util.StringTokenizer; +import java.util.Timer; +import java.util.TimerTask; -import java.awt.*; -import java.util.*; public class Blink extends java.applet.Applet { + + private static final long serialVersionUID = -775844794477507646L; private Timer timer; // Schedules the blinking private String labelString; // The label for the window private int delay; // the delay time between blinks + @Override public void init() { String blinkFrequency = getParameter("speed"); - delay = (blinkFrequency == null) ? 400 : - (1000 / Integer.parseInt(blinkFrequency)); + delay = (blinkFrequency == null) ? 400 + : (1000 / Integer.parseInt(blinkFrequency)); labelString = getParameter("lbl"); - if (labelString == null) + if (labelString == null) { labelString = "Blink"; + } Font font = new java.awt.Font("Serif", Font.PLAIN, 24); setFont(font); } + @Override public void start() { timer = new Timer(); //creates a new timer to schedule the blinking timer.schedule(new TimerTask() { //creates a timertask to schedule + // overrides the run method to provide functionality + @Override public void run() { repaint(); } - } - , delay, delay); + }, delay, delay); } + @Override public void paint(Graphics g) { int fontSize = g.getFont().getSize(); int x = 0, y = fontSize, space; - int red = (int) ( 50 * Math.random()); - int green = (int) ( 50 * Math.random()); - int blue = (int) (256 * Math.random()); + int red = (int) (50 * Math.random()); + int green = (int) (50 * Math.random()); + int blue = (int) (256 * Math.random()); Dimension d = getSize(); g.setColor(Color.black); FontMetrics fm = g.getFontMetrics(); space = fm.stringWidth(" "); for (StringTokenizer t = new StringTokenizer(labelString); - t.hasMoreTokens();) { + t.hasMoreTokens();) { String word = t.nextToken(); int w = fm.stringWidth(word) + space; if (x + w > d.width) { x = 0; y += fontSize; //move word to next line if it doesn't fit } - if (Math.random() < 0.5) - g.setColor(new java.awt.Color((red + y*30) % 256, - (green + x/3) % 256, blue)); - else + if (Math.random() < 0.5) { + g.setColor(new java.awt.Color((red + y * 30) % 256, + (green + x / 3) % 256, blue)); + } else { g.setColor(getBackground()); + } g.drawString(word, x, y); x += w; //shift to the right to draw the next word } } + @Override public void stop() { timer.cancel(); //stops the timer } + @Override public String getAppletInfo() { return "Title: Blinker\n" - + "Author: Arthur van Hoff\n" - + "Displays multicolored blinking text."; + + "Author: Arthur van Hoff\n" + + "Displays multicolored blinking text."; } + @Override public String[][] getParameterInfo() { String pinfo[][] = { - {"speed", "string", "The blink frequency"}, - {"lbl", "string", "The text to blink."}, - }; + { "speed", "string", "The blink frequency" }, + { "lbl", "string", "The text to blink." }, }; return pinfo; } } |