主题:请教下菜鸟问题
package cn.edu.njit.thread;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
public class BackTime
{
public static void main(String[] args)
{
BackTimeFrame f = new BackTimeFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class BackTimeFrame extends JFrame
{
public BackTimeFrame()
{
setTitle("倒计时");
setSize(600, 600);
setLocation(500, 200);
BackTimePanel p = new BackTimePanel();
add(p);
}
}
class BackTimePanel extends JPanel
{
private JSpinner sp;
private JButton b;
boolean time = true;
GregorianCalendar gc;
public BackTimePanel()
{
Date now = new Date();
gc = new GregorianCalendar();
gc.setTime(now);
SpinnerDateModel dateModel = new SpinnerDateModel(now, null, null,
Calendar.SECOND);
sp = new JSpinner(dateModel);
JSpinner.DateEditor editor = new JSpinner.DateEditor(sp, "HH小时mm分ss秒");
sp.setEditor(editor);
add(sp);
b = new JButton("倒计时");
add(b);
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Thread t = new Thread(new Runnable()
{
public void run()
{
try
{
long t1 = System.currentTimeMillis();
long t2 = System.currentTimeMillis();
while (time)
{
sp.setValue(sp.getPreviousValue());
Thread.sleep(1000);
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
});
t.start();
}
});
}
}
我想请问下,怎么让这个定时器在00:00:00时停下啊!谢谢了···
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
public class BackTime
{
public static void main(String[] args)
{
BackTimeFrame f = new BackTimeFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class BackTimeFrame extends JFrame
{
public BackTimeFrame()
{
setTitle("倒计时");
setSize(600, 600);
setLocation(500, 200);
BackTimePanel p = new BackTimePanel();
add(p);
}
}
class BackTimePanel extends JPanel
{
private JSpinner sp;
private JButton b;
boolean time = true;
GregorianCalendar gc;
public BackTimePanel()
{
Date now = new Date();
gc = new GregorianCalendar();
gc.setTime(now);
SpinnerDateModel dateModel = new SpinnerDateModel(now, null, null,
Calendar.SECOND);
sp = new JSpinner(dateModel);
JSpinner.DateEditor editor = new JSpinner.DateEditor(sp, "HH小时mm分ss秒");
sp.setEditor(editor);
add(sp);
b = new JButton("倒计时");
add(b);
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Thread t = new Thread(new Runnable()
{
public void run()
{
try
{
long t1 = System.currentTimeMillis();
long t2 = System.currentTimeMillis();
while (time)
{
sp.setValue(sp.getPreviousValue());
Thread.sleep(1000);
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
});
t.start();
}
});
}
}
我想请问下,怎么让这个定时器在00:00:00时停下啊!谢谢了···