多线程的世界时钟,显示巴黎,罗马,上海时间, AWT界面

本文介绍了一个使用Java实现的世界时钟应用,能够实时显示不同城市的时间,包括巴黎、上海和罗马等地。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*心得:TimeZone tz1=TimeZone.getTimeZone("Europe/Paris");
*      Calendar cld=Calendar.getInstance(tz);
*      clk.setText(cld.get(Calendar.HOUR_OF_DAY)+":"+cld.get(Calendar.MINUTE)+":"+cld.get(Calendar.SECOND));
*/


import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class WorldClock{
    Frame f
=new Frame("WorldClock");
    Label l1
=new Label();
    Label l2
=new Label();
    Label l3
=new Label();
    Label cl1
=new Label();
    Label cl2
=new Label();
    Label cl3
=new Label();
   
   
public WorldClock(){
       
        l1.setFont(
new Font("Arial",Font.BOLD,30));
        l2.setFont(
new Font("Arial",Font.BOLD,30));
        l3.setFont(
new Font("Arial",Font.BOLD,30));
        cl1.setFont(
new Font("Arial",Font.BOLD,30));
        cl2.setFont(
new Font("Arial",Font.BOLD,30));
        cl3.setFont(
new Font("Arial",Font.BOLD,30));
        cl1.setForeground(Color.red);
        cl2.setForeground(Color.red);       
        cl3.setForeground(Color.red);
       
        f.setLayout(
new GridLayout(2,3));
        f.add(l1);
        f.add(l2);
        f.add(l3);
        f.add(cl1);
        f.add(cl2);
        f.add(cl3);
       
        TimeZone tz1
=TimeZone.getTimeZone("Europe/Paris");
        clock c1
=new clock(l1,cl1,tz1);
       
new Thread(c1).start();
       
        TimeZone tz2
=TimeZone.getTimeZone("Asia/Shanghai");
        clock c2
=new clock(l2,cl2,tz2);
       
new Thread(c2).start();
       
        TimeZone tz3
=TimeZone.getTimeZone("Europe/Rome");
        clock c3
=new clock(l3,cl3,tz3);
       
new Thread(c3).start();
       
        f.setLocation(
200,200);
        f.setVisible(
true);
        f.pack();
       
       
    }
   
public static void main(String[] args){
       
new WorldClock();
        String[] s
=TimeZone.getAvailableIDs();
       
int i=0;
       
while(++i<s.length){
            System.out.println (s[i]);
        }
    }
}

class clock implements Runnable{
   
private Label l;
   
private Label clk;
    TimeZone tz;
   
   
public clock(Label l,Label clk,TimeZone tz){
       
this.l=l;
       
this.clk=clk;
       
this.tz=tz;
    }
   
   
public void run(){
        l.setText(tz.getID());
       
while(true){
            Calendar cld
=Calendar.getInstance(tz);
            clk.setText(cld.get(Calendar.HOUR_OF_DAY)
+":"+cld.get(Calendar.MINUTE)+":"+cld.get(Calendar.SECOND));
           
try{
                Thread.sleep(
1000);
            }
catch(Exception e){
                e.printStackTrace();
            }
           
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值