📄 currenttimeapplet.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 + -