import java.util.*;
import java.text.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class TimeFrame extends Thread
{
private Date d;
final Date dd=new Date(2012,12,25,0,0,0);
private JFrame f;
private JLabel b1=new JLabel();
private JLabel b2=new JLabel();
TimeFrame()
{
f=new JFrame("倒计时");
f.setLayout(new FlowLayout());
f.setBounds(300,200,300,200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b2.setText("距圣诞节还有");
f.add(b1);f.add(b2);
}
public void run()
{
while(true)
{
try
{
d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年M月d日 HH:mm:ss");
String s=sdf.format(d);
b1.setText("现在时间是"+s);
Thread.sleep(1000);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
}
public class ChristmasDemo
{
public static void main(String[] args)
{
TimeFrame abc=new TimeFrame();
Thread t=new Thread(abc);
t.start();
}
}
剩下的代码应该怎么写呢?
import java.text.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class TimeFrame extends Thread
{
private Date d;
final Date dd=new Date(2012,12,25,0,0,0);
private JFrame f;
private JLabel b1=new JLabel();
private JLabel b2=new JLabel();
TimeFrame()
{
f=new JFrame("倒计时");
f.setLayout(new FlowLayout());
f.setBounds(300,200,300,200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b2.setText("距圣诞节还有");
f.add(b1);f.add(b2);
}
public void run()
{
while(true)
{
try
{
d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年M月d日 HH:mm:ss");
String s=sdf.format(d);
b1.setText("现在时间是"+s);
Thread.sleep(1000);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
}
public class ChristmasDemo
{
public static void main(String[] args)
{
TimeFrame abc=new TimeFrame();
Thread t=new Thread(abc);
t.start();
}
}
剩下的代码应该怎么写呢?
还有几天,or x天y小时z分钟k秒
import java.awt.Dimension;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Box;
import javax.swing.Timer;
import java.util.Locale;import org.joda.time.DateTime;
import org.joda.time.Period;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.joda.time.format.PeriodFormatter;
import org.joda.time.format.PeriodFormatterBuilder;public class CountDownTimer {
public static void main(final java.lang.String[] args) {
EventQueue.invokeLater(new java.lang.Runnable(){
@Override public void run(){
final JFrame frame = new JFrame("");
final JLabel message = new JLabel("");
final JLabel countdown = new JLabel("");
final Timer timer = new Timer(1000, new ActionListener(){
final DateTime XMAS = new DateTime(2012,12,25,0,0,0);
final DateTimeFormatter formatter1 = DateTimeFormat.forPattern("yyyy年MM月dd日 HH:mm:ss");
final PeriodFormatter formatter = new PeriodFormatterBuilder()
.appendPrefix("距圣诞节还有")
.appendWeeks()
.appendSuffix("周")
.appendDays()
.appendSuffix("天")
.appendHours()
.appendSuffix("小时")
.appendMinutes()
.appendSuffix("分")
.appendSeconds()
.appendSuffix("秒")
.toFormatter();
@Override public void actionPerformed(ActionEvent e){
DateTime now = DateTime.now();
message.setText(String.format("现在时间是:%s",formatter1.print(now)));
Period period = new Period(now, XMAS);
countdown.setText(formatter.print(period));
}
});
timer.setRepeats(true);
Box vbox = Box.createVerticalBox();
vbox.add(message);
vbox.add(countdown);
frame.add(vbox);
frame.setPreferredSize(new Dimension(400,200));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.addWindowListener(new WindowAdapter(){
@Override public void windowOpened(WindowEvent e){
timer.start();
}
@Override public void windowClosing(WindowEvent e){
timer.stop();
}
});
frame.setVisible(true);
}
});
}
}
import java.text.*;
import java.awt.*;
import javax.swing.*;import javax.swing.*;
class TimeFrame
{
//private Date d1=new Date(2012,12,25,0,0,0);
String d1="2012-12-25 00:00:00";//定义圣诞那天
private JFrame f;
private JLabel b1=new JLabel();
private JLabel b2=new JLabel();
private JLabel b3=new JLabel();// private JTextField jtf=new JTextField();
public TimeFrame()
{
f=new JFrame("倒计时");
f.setLayout(new FlowLayout(FlowLayout.CENTER,300,10));
f.setBounds(300,200,300,200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b2.setText("距圣诞节还有");
f.add(b1);
f.add(b2);
f.add(b3);
}
public void start()
{
while(true)
{
try
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式
String startTime=sdf.format(new Date());//把当前的时间转化成字符串
b1.setText("现在时间是"+startTime);
long startTimeMiss=sdf.parse(startTime).getTime();//取得开始时间的毫秒书
long endTimeMiss=sdf.parse(d1).getTime();//取得结束时间的毫秒数
long resultTime=endTimeMiss-startTimeMiss;//取得塔门之间的时间
long day = resultTime / (24 * 60 * 60 * 1000);
long hour = (resultTime/ (60 * 60 * 1000) - day * 24);
long min = ((resultTime / (60 * 1000)) - day * 24 * 60 - hour * 60);
long se = (resultTime / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
b3.setText(day+"天" + hour + "小时" + min + "分" + se + "秒 ");
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
}
public class ChristmasDemo
{
public static void main(String[] args)
{
TimeFrame abc=new TimeFrame();
abc.start();
}}