Я работаю над проектом для школы, и я как-то застрял. Я написал программу, отображающую текущее время, но я не могу понять, как заставить ее обновляться по мере изменения времени. Если кто-то может мне помочь или указать мне направление, чтобы начать, ваша помощь будет принята с благодарностью. Я опубликую то, что я написал до сих пор.
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class Project2 extends JFrame{
public static void main(String[] args){
Project2 myFrame = new Project2();
myFrame.pack();
myFrame.setTitle("Digital Clock");
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setLocationRelativeTo(null);
myFrame.setVisible(true);
}//main()
public Project2(){
System.out.println(currentTime());
JPanel p1 = new JPanel();
p1.setLayout(new FlowLayout());
JLabel time = new JLabel(currentTime());
time.setFont(new Font("TimesRoman", Font.BOLD, 20));
time.setForeground(Color.blue);
p1.add(time);
this.setLayout(new BorderLayout());
this.add(p1, BorderLayout.CENTER);
}
public String currentTime(){
Calendar calendar = Calendar.getInstance();
int hours = calendar.get(Calendar.HOUR_OF_DAY);
int minutes = calendar.get(Calendar.MINUTE);
int seconds = calendar.get(Calendar.SECOND);
int aP = calendar.get(Calendar.AM_PM);
String currentTime = hours+":"+checkTime(minutes)+":"+checkTime(seconds)+" "+amP(aP);
return currentTime;
}
public String checkTime(int t){
String time1;
if (t < 10){
time1 = ("0"+t);
}
else{
time1 = (""+t);
}
return time1;
}
public String amP(int ap){
String amPm;
if( ap == 0)
amPm = "AM";
else
amPm = "PM";
return amPm;
}
}//Project2