Делаю программу - хронометр (часы, таймер, будильник, секундомер, временные расчеты). Для отображения текущего времени использовал класс Timer, и все без проблем отображается на панели. Но для секундомера решил использовать JPanel, имплементирующий Runnable. В консоли все замечательно работает. Но состояние меток на панели метод run() не меняет. Подскажите, пожалуйста, в чем проблема. Я не занимаюсь программированием профессионально, поэтому общие фразы типа "кури мануалы" или "юзай JavaFX" не нужны. Если знаете, просто укажите путь чуть поконкретнее!)
@Override
public void run() {
long time_start = Calendar.getInstance().getTimeInMillis();
long time_current = 0L;
while (true) {
time_current = Calendar.getInstance().getTimeInMillis() - time_start;
hours = time_current/3600000;
time_current = time_current % 3600000;
minutes = time_current/60000;
time_current = time_current % 60000;
seconds = time_current/1000;
time_current = time_current % 1000;
santiSec = time_current/10;
System.out.println(time_current + ", santi = " + santiSec + ", seconds= " + seconds + ", minutes =" + minutes + ", hours = " + hours);
lblMillisec_0.setIcon(Clock_Face.iconSmallDigits[1][(int) (santiSec/10)]);
lblMillisec_1.setIcon(Clock_Face.iconSmallDigits[1][(int) (santiSec%10)]);
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}