Program blinker
HejJeg har lavet et analogur, det eneste problem er bare at det hele tiden står og blinker som en gal. Kan man skrive noget kode eller lign. så den holder op med det?
--------- min kode --------------
import java.awt.*;
import java.applet.*;
import java.io.*;
import java.util.*;
import java.math.*;
public class analogur extends Applet
{
int sx1, sy1, mx1, my1;
double sx, sy, mx, my, sekunter, minutter;
long sek, min;
Date tid, tid2;
public void paint(Graphics g) {
tid = new Date();
g.setColor(Color.white);
g.fillRect(0, 0, 200, 200);
g.setColor(Color.black);
g.drawOval(10, 10, 100, 100);
g.drawLine(60, 5, 60, 20);
g.drawLine(60, 100, 60, 115);
g.drawLine(5, 60, 20, 60);
g.drawLine(100, 60, 115, 60);
g.fillOval(55, 55, 10, 10);
g.drawString("3",115,65);
g.drawString("6",57,125);
g.drawString("9",0,65);
g.drawString("12",55,10);
sekunter = tid.getTime();
sek = (long) (sekunter / 1000);
System.out.println(sek);
g.setColor(Color.green);
sx = 60 + 50 * Math.cos( (sek * 6 * Math.PI) / 180 - (Math.PI / 2));
sx1 = (int) sx;
sy = 60 + 50 * Math.sin( (sek * 6 * Math.PI) / 180 - (Math.PI / 2));
sy1 = (int) sy;
g.fillOval(sx1 - 5, sy1 - 5, 10, 10);
sekunter = tid.getTime();
sek = (long) (sekunter / 60000);
System.out.println(sek);
g.setColor(Color.blue);
sx = 60 + 50 * Math.cos( (sek * 6 * Math.PI) / 180 - (Math.PI / 2));
sx1 = (int) sx;
sy = 60 + 50 * Math.sin( (sek * 6 * Math.PI) / 180 - (Math.PI / 2));
sy1 = (int) sy;
g.fillOval(sx1 - 5, sy1 - 5, 10, 10);
sekunter = tid.getTime();
sek = (long) (sekunter / 3600000);
System.out.println(sek);
g.setColor(Color.red);
sx = 60 + 50 * Math.cos( (sek * 15 * Math.PI) / 180 + (Math.PI/2) - (((Math.PI)/2))/3);
sx1 = (int) sx;
sy = 60 + 50 * Math.sin( (sek * 15 * Math.PI) / 180 + (Math.PI/2) - (((Math.PI)/2))/3);
sy1 = (int) sy;
g.fillOval(sx1 - 5, sy1 - 5, 10, 10);
repaint(1000);
}
}
