倒计时牌
来源:互联网 发布:淘宝网上商城官网 编辑:程序博客网 时间:2024/04/29 00:12
import java.awt.BorderLayout;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TimeFrame
{
private JFrame jf;
private JLabel label1;
private JLabel label2;
public TimeFrame()
{
jf = new JFrame("倒计时牌");
label1 = new JLabel("距离2011年春节还有:");
label2 = new JLabel(""); //显示剩余时间
jf.add(label1,BorderLayout.NORTH); //添加组件到窗体上方
jf.add(label2,BorderLayout.CENTER); //添加组件到窗体的中间
//GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系
Calendar cal = new GregorianCalendar(2011,Calendar.FEBRUARY,3,0,0,0); //Calendar是一个抽象类
Thread t = new RefreshTimeThread(cal);
t.start(); //启动线程
}
/**
* 封装窗体的显示方法
*
*/
public void showMe()
{
jf.setBounds(200, 200, 300, 150); //设置窗体的位置及大小
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置单击窗体关闭按钮时退出程序
}
public static void main(String args[])
{
new TimeFrame().showMe();
}
class RefreshTimeThread extends Thread
{
private Calendar targetTime;
//构造方法,传入倒计时的时间
public RefreshTimeThread(Calendar targetTime)
{
this.targetTime = targetTime;
}
public void run() //重写run()方法
{
while(true)
{
//创建GregorianCalendar对象即现在的时间
Calendar todayTime = new GregorianCalendar(); //在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar
//定义long类型的seconds,表示剩余的秒数
long seconds = (targetTime.getTimeInMillis() - todayTime.getTimeInMillis()) / 1000;
if(seconds <= 0)
{
label2.setText("时间到!");
break;
}
int day = (int)(seconds/(24*60*60));
int hour = (int)(seconds/(60*60)%24);
int min = (int)(seconds/60%60);
int sec = (int)(seconds%60);
String str = day + "天" + hour + "时" + min + "分" + sec + "秒";
label2.setText(str);//刷新label2上的时间
try
{
Thread.sleep(1000); //每次睡一秒,则计时牌时间每秒变一次
} catch (Exception e)
{
e.printStackTrace();
}
}
}
}
}
- 倒计时牌
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时、、、、、
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 课题的思路
- 我的web经历
- Silverlight 4 Tools for Visual Studio 2010 和 WCF RIA Services 1.0发布
- 在深圳多年了, 最近又一次跳槽, 在这城市里许多人都一样地进行这种轮回。
- 对UTF-8的格式签名65279的处理
- 倒计时牌
- Mysql用户添加及权限分配
- 学习有道
- 抽象工厂模式
- 数据库各厂商发展历史之(7. 补记: SAP MaxDB)
- 个人开公司的流程
- “21天教你学会C++”
- 关于设计模式的评论
- ZOJ 3335