| godofwarares |
03-05-2007 04:28 PM |
(Not GScript) A simple clock
I made this out of pure free time. It's Java so it won't work on Graal -- Sorry guys. You might be able to get some good ideas / good formulas off of this however.
Alert: This is an applet. You can use it on a webpage by compiling it and using this code:
HTML Code:
<APPLET CODE=Clock.class WIDTH=100 HEIGHT=100>
</APPLET>
PHP Code:
public class Clock extends javax.swing.JApplet { public int clockX; public int clockY; public int clockW; public int clockR; public double sa; public double sda; public double mda; public double hda; public int sr; public int mr; public int hr; public int s; public int m; public int h; public int secondX; public int secondY; public int minuteX; public int minuteY; public int hourX; public int hourY; public void init() { // Start the timer; Variables here don't matter // since they're in the Paint method. javax.swing.Timer clock = new javax.swing.Timer(500, updateClock); clock.start(); } public void paint(java.awt.Graphics g) { clockX = (getWidth()/2); clockY = (getHeight()/2); clockW = (getWidth()-1); clockR = ((getWidth()-1) / 2); sa = (Math.PI / 2); sda = (Math.PI / 30); mda = (Math.PI / 30); hda = (Math.PI / 6); sr = clockR; mr = (int) (0.9 * clockR); hr = (int) (0.7 * clockR); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(new java.awt.Color(255, 255, 255)); java.util.Date d = new java.util.Date(); s = d.getSeconds(); m = d.getMinutes(); h = d.getHours(); secondX = (int) ((getWidth() / 2) + Math.cos((s * sda) - sa) * sr); secondY = (int) ((getWidth() / 2) + Math.sin((s * sda) - sa) * sr); minuteX = (int) ((getWidth() / 2) + Math.cos((m * mda) - sa) * mr); minuteY = (int) ((getWidth() / 2) + Math.sin((m * mda) - sa) * mr); hourX = (int) ((getWidth() / 2) + Math.cos((h * hda) - sa) * hr); hourY = (int) ((getWidth() / 2) + Math.sin((h * hda) - sa) * hr); g.drawLine( (getWidth() / 2), (getHeight() / 2), secondX, secondY ); g.drawLine( (getWidth() / 2), (getHeight() / 2), minuteX, minuteY ); g.drawLine( (getWidth() / 2), (getHeight() / 2), hourX, hourY ); g.drawOval(0, 0, (getWidth()-1), getHeight()-1); String stime = (h % 12 + ":" + (m < 10 ? "0" + m : m) + ":" + (s < 10 ? "0" + s : s) + " " + (h > 11 ? "PM" : "AM")); showStatus("The time is now: " + stime + "."); } java.awt.event.ActionListener updateClock = new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { repaint(); } }; }
Just in case nobody has compilers, Forum PM me and i'll give you the class file.
Enjoy.
Note: I KNOW THIS ISN'T A JAVA FORUM.
I just thought it would help someone >_>
|