changeset 3831:49e67bb5782c

7027677: /applets/Clock demo needs to be improved Reviewed-by: rupashka
author mrkam
date Thu, 24 Mar 2011 18:03:09 +0100
parents b52d96e7e125
children 98b66b617c31
files src/share/demo/applets/Clock/Clock.java
diffstat 1 files changed, 69 insertions(+), 50 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/demo/applets/Clock/Clock.java	Thu Mar 24 17:45:37 2011 +0100
+++ b/src/share/demo/applets/Clock/Clock.java	Thu Mar 24 18:03:09 2011 +0100
@@ -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,24 +29,28 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/*
- */
 
-import java.util.*;
-import java.awt.*;
-import java.applet.*;
-import java.text.*;
+import java.applet.Applet;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Graphics;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
 
 /**
  * Time!
  *
  * @author Rachel Gollub
- * @modified Daniel Peek replaced circle drawing calculation, few more changes
+ * @author Daniel Peek replaced circle drawing calculation, few more changes
  */
+@SuppressWarnings("serial")
 public class Clock extends Applet implements Runnable {
+
     private volatile Thread timer;       // The thread that displays clock
     private int lastxs, lastys, lastxm,
-                lastym, lastxh, lastyh;  // Dimensions used to draw hands
+            lastym, lastxh, lastyh;  // Dimensions used to draw hands
     private SimpleDateFormat formatter;  // Formats the date displayed
     private String lastdate;             // String to hold date displayed
     private Font clockFaceFont;          // Font for number display on clock
@@ -55,11 +59,11 @@
     private Color numberColor;           // Color of second hand and numbers
     private int xcenter = 80, ycenter = 55; // Center position
 
+    @Override
     public void init() {
-        int x,y;
         lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
-        formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy",
-                                          Locale.getDefault());
+        formatter = new SimpleDateFormat("EEE MMM dd hh:mm:ss yyyy",
+                Locale.getDefault());
         currentDate = new Date();
         lastdate = formatter.format(currentDate);
         clockFaceFont = new Font("Serif", Font.PLAIN, 14);
@@ -68,26 +72,29 @@
 
         try {
             setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),
-                                                     16)));
+                    16)));
         } catch (NullPointerException e) {
         } catch (NumberFormatException e) {
         }
         try {
             handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),
-                                                   16));
+                    16));
         } catch (NullPointerException e) {
         } catch (NumberFormatException e) {
         }
         try {
             numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),
-                                                     16));
+                    16));
         } catch (NullPointerException e) {
         } catch (NumberFormatException e) {
         }
-        resize(300,300);              // Set clock window size
+        resize(300, 300);              // Set clock window size
     }
 
-    // Paint is the main part of the program
+    /**
+     * Paint is the main part of the program
+     */
+    @Override
     public void update(Graphics g) {
         int xh, yh, xm, ym, xs, ys;
         int s = 0, m = 10, h = 10;
@@ -119,10 +126,12 @@
         ys = (int) (Math.sin(s * Math.PI / 30 - Math.PI / 2) * 45 + ycenter);
         xm = (int) (Math.cos(m * Math.PI / 30 - Math.PI / 2) * 40 + xcenter);
         ym = (int) (Math.sin(m * Math.PI / 30 - Math.PI / 2) * 40 + ycenter);
-        xh = (int) (Math.cos((h*30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30
-                   + xcenter);
-        yh = (int) (Math.sin((h*30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30
-                   + ycenter);
+        xh = (int) (Math.cos((h * 30 + m / 2) * Math.PI / 180 - Math.PI / 2)
+                * 30
+                + xcenter);
+        yh = (int) (Math.sin((h * 30 + m / 2) * Math.PI / 180 - Math.PI / 2)
+                * 30
+                + ycenter);
 
         // Get the date to print at the bottom
         formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
@@ -136,12 +145,12 @@
             g.drawString(lastdate, 5, 125);
         }
         if (xm != lastxm || ym != lastym) {
-            g.drawLine(xcenter, ycenter-1, lastxm, lastym);
-            g.drawLine(xcenter-1, ycenter, lastxm, lastym);
+            g.drawLine(xcenter, ycenter - 1, lastxm, lastym);
+            g.drawLine(xcenter - 1, ycenter, lastxm, lastym);
         }
         if (xh != lastxh || yh != lastyh) {
-            g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
-            g.drawLine(xcenter-1, ycenter, lastxh, lastyh);
+            g.drawLine(xcenter, ycenter - 1, lastxh, lastyh);
+            g.drawLine(xcenter - 1, ycenter, lastxh, lastyh);
         }
 
         // Draw date and hands
@@ -149,73 +158,83 @@
         g.drawString(today, 5, 125);
         g.drawLine(xcenter, ycenter, xs, ys);
         g.setColor(handColor);
-        g.drawLine(xcenter, ycenter-1, xm, ym);
-        g.drawLine(xcenter-1, ycenter, xm, ym);
-        g.drawLine(xcenter, ycenter-1, xh, yh);
-        g.drawLine(xcenter-1, ycenter, xh, yh);
-        lastxs = xs; lastys = ys;
-        lastxm = xm; lastym = ym;
-        lastxh = xh; lastyh = yh;
+        g.drawLine(xcenter, ycenter - 1, xm, ym);
+        g.drawLine(xcenter - 1, ycenter, xm, ym);
+        g.drawLine(xcenter, ycenter - 1, xh, yh);
+        g.drawLine(xcenter - 1, ycenter, xh, yh);
+        lastxs = xs;
+        lastys = ys;
+        lastxm = xm;
+        lastym = ym;
+        lastxh = xh;
+        lastyh = yh;
         lastdate = today;
         currentDate = null;
     }
 
+    @Override
     public void paint(Graphics g) {
         g.setFont(clockFaceFont);
         // Draw the circle and numbers
         g.setColor(handColor);
-        g.drawArc(xcenter-50, ycenter-50, 100, 100, 0, 360);
+        g.drawArc(xcenter - 50, ycenter - 50, 100, 100, 0, 360);
         g.setColor(numberColor);
-        g.drawString("9", xcenter-45, ycenter+3);
-        g.drawString("3", xcenter+40, ycenter+3);
-        g.drawString("12", xcenter-5, ycenter-37);
-        g.drawString("6", xcenter-3, ycenter+45);
+        g.drawString("9", xcenter - 45, ycenter + 3);
+        g.drawString("3", xcenter + 40, ycenter + 3);
+        g.drawString("12", xcenter - 5, ycenter - 37);
+        g.drawString("6", xcenter - 3, ycenter + 45);
 
         // Draw date and hands
         g.setColor(numberColor);
         g.drawString(lastdate, 5, 125);
         g.drawLine(xcenter, ycenter, lastxs, lastys);
         g.setColor(handColor);
-        g.drawLine(xcenter, ycenter-1, lastxm, lastym);
-        g.drawLine(xcenter-1, ycenter, lastxm, lastym);
-        g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
-        g.drawLine(xcenter-1, ycenter, lastxh, lastyh);
+        g.drawLine(xcenter, ycenter - 1, lastxm, lastym);
+        g.drawLine(xcenter - 1, ycenter, lastxm, lastym);
+        g.drawLine(xcenter, ycenter - 1, lastxh, lastyh);
+        g.drawLine(xcenter - 1, ycenter, lastxh, lastyh);
     }
 
+    @Override
     public void start() {
         timer = new Thread(this);
         timer.start();
     }
 
+    @Override
     public void stop() {
         timer = null;
     }
 
+    @Override
+    @SuppressWarnings("SleepWhileHoldingLock")
     public void run() {
         Thread me = Thread.currentThread();
         while (timer == me) {
             try {
-                Thread.currentThread().sleep(100);
+                Thread.sleep(100);
             } catch (InterruptedException e) {
             }
             repaint();
         }
     }
 
+    @Override
     public String getAppletInfo() {
         return "Title: A Clock \n"
-            + "Author: Rachel Gollub, 1995 \n"
-            + "An analog clock.";
+                + "Author: Rachel Gollub, 1995 \n"
+                + "An analog clock.";
     }
 
+    @Override
     public String[][] getParameterInfo() {
         String[][] info = {
-            {"bgcolor", "hexadecimal RGB number",
-             "The background color. Default is the color of your browser."},
-            {"fgcolor1", "hexadecimal RGB number",
-             "The color of the hands and dial. Default is blue."},
-            {"fgcolor2", "hexadecimal RGB number",
-             "The color of the second hand and numbers. Default is dark gray."}
+            { "bgcolor", "hexadecimal RGB number",
+                "The background color. Default is the color of your browser." },
+            { "fgcolor1", "hexadecimal RGB number",
+                "The color of the hands and dial. Default is blue." },
+            { "fgcolor2", "hexadecimal RGB number",
+                "The color of the second hand and numbers. Default is dark gray." }
         };
         return info;
     }