⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 currenttimeapplet.java

📁 这是本人开发的一个小时钟 主要涉及到java的多线程技术
💻 JAVA
字号:
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;

public class CurrentTimeApplet extends JApplet implements ItemListener
  {
    protected Locale locale=Locale.getDefault();
    protected TimeZone timeZone=TimeZone.getDefault();;
    protected StillClock stillClock;
    private boolean isStandalone=false;
    private JComboBox jcbLocale=new JComboBox();
    private JComboBox jcbTimeZone=new JComboBox();
    private String a[]=TimeZone.getAvailableIDs();
    private Locale locales[]=Calendar.getAvailableLocales();
    
  
    public CurrentTimeApplet()
     {}
       
    public void init()
      {

       if(!isStandalone)
          {
            getHTMLParameters();//网页参数
          }
       
       getJComboBoxParameters();//组合框参数
       
      
       creatClock();
      }

   //根据参数创建stillClock实例
   public void creatClock()
      {
        getContentPane().add(stillClock=new StillClock(locale,timeZone),BorderLayout.CENTER);   
      }     

   //从下拉框获的local timezone参数;
   public void getJComboBoxParameters()
      {
         
       JPanel p=new JPanel();     
       for(int i=0;i<a.length;i++)
             jcbTimeZone.addItem(a[i]);
       for(int j=0;j<locales.length;j++)
             jcbLocale.addItem(locales[j].getDisplayName());
       p.add(jcbLocale);
       p.add(jcbTimeZone);
       
       jcbLocale.addItemListener(this);
       jcbTimeZone.addItemListener(this);  
     
       getContentPane().add(p,BorderLayout.SOUTH);

      }

   //从网页获得local timezone参数
    public void getHTMLParameters()
      {
        String language=getParameter("language");
        String country=getParameter("country");
        String timezone=getParameter("timezone");

        if(language==null)
          language="en";
        if(country==null)
          country="US";
        if(timezone==null)
          timezone="CST";
        //set locale and timezone
        locale=new Locale(language,country);
        timeZone=TimeZone.getTimeZone(timezone);
        //System.out.println(language+country);

      }
     
   
    
    //从命令行获得local timezone参数
    public void getCommandLineParameters(String[] args)
      {
        locale=Locale.getDefault();
        timeZone=TimeZone.getDefault();

        if(args.length>3)
          {
            System.out.println("language,country,timezone");
            System.exit(0);
 
          }
        else if(args.length==3)
          {
            locale=new Locale(args[0],args[1]);
            timeZone=TimeZone.getTimeZone(args[2]);
          }
        else if(args.length==2)
           {
             locale=new Locale(args[0],args[1]);
             timeZone=TimeZone.getDefault();

           }
         else if(args.length==1)
           {
             System.out.println("language,country,tiemzone");
             System.exit(0);
           }
         else 
           {
             locale=Locale.getDefault();
             timeZone=TimeZone.getDefault();
           }
      }

     public void itemStateChanged(ItemEvent e)
      {
          if(e.getSource()==jcbLocale||e.getSource()==jcbTimeZone)
            stillClock.setLocaleIn(locales[jcbLocale.getSelectedIndex()]);
            stillClock.timeZone=TimeZone.getTimeZone(a[jcbTimeZone.getSelectedIndex()]);
           repaint();
      }
   
   
     public static void main(String[] args)
      {
         JFrame frame=new JFrame("Display Current Time");
         CurrentTimeApplet applet=new CurrentTimeApplet();
         applet.isStandalone=true;
         applet.getCommandLineParameters(args);
         frame.getContentPane().add(applet);
         applet.init();
         applet.start();
         frame.setSize(600,500);
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.setVisible(true);
      }

    
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -