import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class FrameTime extends JFrame implements Runnable,ActionListener
{
private Thread duke;
private JLabel yy,mm,dd,hh,ii,ss;
private JButton stopst;
private boolean flag;
private JPanel pan;
public static void main(String[] dd)
{
FrameTime tt = new FrameTime();
tt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tt.show();
}
public FrameTime()
{
setTitle("当前时间");
yy = new JLabel();
mm = new JLabel();
dd= new JLabel();
hh= new JLabel();
ii= new JLabel();
ss= new JLabel();
stopst = new JButton("开始");
pan = new JPanel();
// pan.setLaout(new BorderLayout());
pan.add(yy);
pan.add(mm);
pan.add(dd);
pan.add(hh);
pan.add(ii);
pan.add(ss);
pan.add(stopst);
getContentPane().add(pan);
setSize(300,100);
stopst.addActionListener(this);
}
public void start()
{
flag=true;
duke=new Thread(this);
duke.start();
}
public void stop()
{
flag=false;
duke=null;
}
public void actionPerformed(ActionEvent d)
{
boolean boo=(duke==null);
if(boo)
{stopst.setText(boo?"暂停":"开始");
start();}
else
{stopst.setText(boo?"暂停":"开始");
stop();}
}
public void run()
{
while(flag)
{repaint();
GregorianCalendar cale = new GregorianCalendar();
yy.setText(cale.get(Calendar.YEAR)+"年 ");
mm.setText(cale.get(Calendar.MONTH)+"月");
dd.setText(cale.get(Calendar.DATE)+"日");
hh.setText(cale.get(Calendar.HOUR)+"时");
ii.setText(cale.get(Calendar.MINUTE)+"分");
ss.setText(cale.get(Calendar.SECOND)+"秒");
}
}
}