Java - Problem med Thread (klocka)
Hej!
Tänkte bli bättre på att ta nytta på trådar i Java (Threads), därför bestämde jag mig för att göra en klocka.
Klockan är från början inställd på 18.46.2 men att den ska uppdateras varje sekund och när sekundvariabeln blir mer än 59, ska den nollställas och minutvariabeln ska höjas med en (samma med timmar). Alltså, som en klocka.
Problemet är bara att klockan inte vill uppdateras, utan den har stannat på 18.46.2.
Här kommer koden:
import java.awt.Graphics;
import javax.swing.*;
public class process extends JFrame implements Runnable {
Thread t;
int h,m,s;
public process() {
setTitle("Time");
h = 18; m = 46; s = 2;
setSize(200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void start() {
t = new Thread(this);
t.start();
}
public void run() {
Thread tt = Thread.currentThread();
while(tt == t) {
try {
update();
Thread.sleep(1000);
}
catch(InterruptedException e) {
e.printStackTrace();
}
repaint();
}
}
public void stop() {
t = null;
}
public void update() {
s++;
if(s > 59) {
m++;
s = 0;
}
if(m > 59) {
h++;
m = 0;
}
if(h > 23) {
h = m = s = 0;
}
}
public void paint(Graphics g) {
g.drawString(h + "." + m + "." + s, 95, 95);
}
public static void main (String[] arg) {
new process();
}
}
Ser ni var problemet sitter?
Tacksam för svar.