Pisze dosyc prosty timer i mam problem. Otoz przy wykonywaniu sie petli while czas nie rysuje sie w ramce.
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class Rysowanie_czasu extends JComponent {
int godziny,minuty,sekundy,czas;
public Rysowanie_czasu() {
godziny = 0;
minuty = 20;
sekundy = 0;
czas = minuty * 60;
}
public Rysowanie_czasu(int godziny,int minuty,int sekundy) {
this.godziny = godziny;
this.minuty = minuty;
this.sekundy = sekundy;
czas = sekundy + minuty * 60 + godziny * 60 * 60;
}
public void paintComponent(Graphics g) {
try {
while (czas!=0) {
String czas_do_rys = godziny + ":" + minuty + ":" + sekundy;
System.out.println(czas_do_rys);
g.drawString(czas_do_rys,15,15);
sekundy-=1;
czas-=1;
Thread.sleep(1000);
repaint();
}
g.drawString("0:0:00",15,15);
}
catch (InterruptedException e) {};
}
}
klasa timer
import javax.swing.*;
import java.awt.*;
import java.util.*;
class Timer extends JFrame {
public void odliczanie(int godziny,int minuty,int sekundy) {
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame okno = new JFrame();
okno.setBounds(80,80,200,200);
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
okno.setVisible(true);
okno.setTitle("Tajmer");
Rysowanie_czasu licznik = new Rysowanie_czasu(0,0,6);
okno.add(licznik);
}
});
}
}
Prosze o wskazanie bledu.