import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import java.util.TimeZone;
import java.util.GregorianCalendar;
import java.text.*;
public class WorldClock extends JPanel {
private TimeZone timeZone = TimeZone.getTimeZone("EST");
private Timer timer = new Timer(1000, new TimerListener());
private StillClock clock = new StillClock();
private JLabel jlblDigitTime = new JLabel("", JLabel.CENTER);
public WorldClock() {
setLayout(new BorderLayout());
add(clock, BorderLayout.CENTER);
add(jlblDigitTime, BorderLayout.SOUTH);
timer.start();
}
public void setTimeZone(TimeZone timeZone) {
this.timeZone = timeZone;
}
private class TimerListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Calendar calendar = new GregorianCalendar(timeZone, getLocale());
clock.setHour(calendar.get(Calendar.HOUR));
clock.setMinute(calendar.get(Calendar.MINUTE));
clock.setSecond(calendar.get(Calendar.SECOND));
DateFormat formatter = DateFormat.getDateTimeInstance
(DateFormat.MEDIUM, DateFormat.LONG, getLocale());
formatter.setTimeZone(timeZone);
jlblDigitTime.setText(formatter.format(calendar.getTime()));
}
}
}