home *** CD-ROM | disk | FTP | other *** search
Wrap
import java.applet.Applet; import java.awt.Color; import java.awt.Component; import java.awt.Font; import java.awt.Graphics; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class Clock2 extends Applet implements Runnable { Thread timer; int lastxs; int lastys; int lastxm; int lastym; int lastxh; int lastyh; SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault()); Date dummy = new Date(); String lastdate; // $FF: renamed from: F java.awt.Font Font field_0; Date dat; Color fgcol; Color fgcol2; public void init() { try { ((Component)this).setBackground(new Color(Integer.parseInt(((Applet)this).getParameter("bgcolor"), 16))); } catch (Exception var3) { } try { this.fgcol = new Color(Integer.parseInt(((Applet)this).getParameter("fgcolor1"), 16)); } catch (Exception var2) { } try { this.fgcol2 = new Color(Integer.parseInt(((Applet)this).getParameter("fgcolor2"), 16)); } catch (Exception var1) { } ((Applet)this).resize(300, 300); } public void plotpoints(int var1, int var2, int var3, int var4, Graphics var5) { var5.drawLine(var1 + var3, var2 + var4, var1 + var3, var2 + var4); var5.drawLine(var1 + var4, var2 + var3, var1 + var4, var2 + var3); var5.drawLine(var1 + var4, var2 - var3, var1 + var4, var2 - var3); var5.drawLine(var1 + var3, var2 - var4, var1 + var3, var2 - var4); var5.drawLine(var1 - var3, var2 - var4, var1 - var3, var2 - var4); var5.drawLine(var1 - var4, var2 - var3, var1 - var4, var2 - var3); var5.drawLine(var1 - var4, var2 + var3, var1 - var4, var2 + var3); var5.drawLine(var1 - var3, var2 + var4, var1 - var3, var2 + var4); } public void circle(int var1, int var2, int var3, Graphics var4) { int var5 = 0; int var6 = var3; float var7 = (float)(1 - var3); this.plotpoints(var1, var2, var5, var3, var4); for(; var6 > var5; this.plotpoints(var1, var2, var5, var6, var4)) { if (var7 < 0.0F) { var7 = var7 + (float)(2 * var5) + 3.0F; ++var5; } else { var7 = var7 + (float)(2 * (var5 - var6)) + 5.0F; ++var5; --var6; } } } public void paint(Graphics var1) { int var8 = 0; int var9 = 10; int var10 = 10; this.dat = new Date(); SimpleDateFormat var14 = new SimpleDateFormat("s", Locale.getDefault()); try { var8 = Integer.parseInt(((DateFormat)var14).format(this.dat)); } catch (NumberFormatException var17) { var8 = 0; } var14.applyPattern("m"); try { var9 = Integer.parseInt(((DateFormat)var14).format(this.dat)); } catch (NumberFormatException var16) { var9 = 10; } var14.applyPattern("h"); try { var10 = Integer.parseInt(((DateFormat)var14).format(this.dat)); } catch (NumberFormatException var15) { var10 = 10; } var14.applyPattern("EEE MMM dd HH:mm:ss yyyy"); String var13 = ((DateFormat)var14).format(this.dat); byte var11 = 80; byte var12 = 55; int var6 = (int)(Math.cos((double)((float)var8 * 3.14F / 30.0F - 1.57F)) * (double)45.0F + (double)var11); int var7 = (int)(Math.sin((double)((float)var8 * 3.14F / 30.0F - 1.57F)) * (double)45.0F + (double)var12); int var4 = (int)(Math.cos((double)((float)var9 * 3.14F / 30.0F - 1.57F)) * (double)40.0F + (double)var11); int var5 = (int)(Math.sin((double)((float)var9 * 3.14F / 30.0F - 1.57F)) * (double)40.0F + (double)var12); int var2 = (int)(Math.cos((double)((float)(var10 * 30 + var9 / 2) * 3.14F / 180.0F - 1.57F)) * (double)30.0F + (double)var11); int var3 = (int)(Math.sin((double)((float)(var10 * 30 + var9 / 2) * 3.14F / 180.0F - 1.57F)) * (double)30.0F + (double)var12); var1.setFont(this.field_0); var1.setColor(this.fgcol); this.circle(var11, var12, 50, var1); var1.setColor(this.fgcol2); var1.drawString("9", var11 - 45, var12 + 3); var1.drawString("3", var11 + 40, var12 + 3); var1.drawString("12", var11 - 5, var12 - 37); var1.drawString("6", var11 - 3, var12 + 45); var1.setColor(((Component)this).getBackground()); if (var6 != this.lastxs || var7 != this.lastys) { var1.drawLine(var11, var12, this.lastxs, this.lastys); var1.drawString(this.lastdate, 5, 125); } if (var4 != this.lastxm || var5 != this.lastym) { var1.drawLine(var11, var12 - 1, this.lastxm, this.lastym); var1.drawLine(var11 - 1, var12, this.lastxm, this.lastym); } if (var2 != this.lastxh || var3 != this.lastyh) { var1.drawLine(var11, var12 - 1, this.lastxh, this.lastyh); var1.drawLine(var11 - 1, var12, this.lastxh, this.lastyh); } var1.setColor(this.fgcol2); var1.drawString("", 5, 125); var1.drawString(var13, 5, 125); var1.drawLine(var11, var12, var6, var7); var1.setColor(this.fgcol); var1.drawLine(var11, var12 - 1, var4, var5); var1.drawLine(var11 - 1, var12, var4, var5); var1.drawLine(var11, var12 - 1, var2, var3); var1.drawLine(var11 - 1, var12, var2, var3); this.lastxs = var6; this.lastys = var7; this.lastxm = var4; this.lastym = var5; this.lastxh = var2; this.lastyh = var3; this.lastdate = var13; this.dat = null; } public void start() { if (this.timer == null) { this.timer = new Thread(this); this.timer.start(); } } public void stop() { this.timer = null; } public void run() { for(; this.timer != null; ((Component)this).repaint()) { try { Thread.sleep(100L); } catch (InterruptedException var1) { } } this.timer = null; } public void update(Graphics var1) { this.paint(var1); } public String getAppletInfo() { return "Title: A Clock \nAuthor: Rachel Gollub, 1995 \nAn analog clock."; } public String[][] getParameterInfo() { String[][] var1 = new String[][]{{"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 seconds hand and numbers. Default is dark gray."}}; return var1; } public Clock2() { this.lastdate = this.formatter.format(this.dummy); this.field_0 = new Font("TimesRoman", 0, 14); this.fgcol = Color.blue; this.fgcol2 = Color.darkGray; } }