本帖最后由 lianhua123 于 2009-07-18 15:48:44 编辑

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;
    import java.util.Calendar;
    import javax.swing.*;//界面类 class ClockFace extends JFrame {
    private int currentyear = 0; private int currentmonth = 0; private int currentday = 0; private int currenthour = 0; private int currentmin = 0; private int currentsec = 0; JTextField dateTextField = new JTextField(); JTextField timeTextField = new JTextField(); JButton refresh = new JButton("Fresh"); public ClockFace() {
    super("CLOCK");
    Container c = getContentPane();
    c.setLayout(new GridLayout(3, 1));
    c.add(dateTextField);
    c.add(timeTextField);
    refresh();
    c.add(refresh);
    refresh.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
    refresh();
    } });
    setDefaultCloseOperation(DISPOSE_ON_CLOSE); } public void refresh() {
    Calendar Cal = Calendar.getInstance();//这句要放在这里,每次重新得到时间
    setyear(Cal.get(Calendar.YEAR));
    setmonth(Cal.get(Calendar.MONTH) + 1);
    setday(Cal.get(Calendar.DAY_OF_MONTH));
    sethour(Cal.get(Calendar.HOUR_OF_DAY));
    setmin(Cal.get(Calendar.MINUTE));
    setsec(Cal.get(Calendar.SECOND));
    System.out.println(Cal.get(Calendar.SECOND));
    dateTextField.setText("" + currentyear + ":" + currentmonth + ":"
    + currentday);
    timeTextField.setText("" + currenthour + ":" + currentmin + ":"
    + currentsec); } public void setyear(int n) {
    currentyear = n;
    } public void setmonth(int n) {
    currentmonth = n;
    } public void setday(int n) {
    currentday = n;
    } public void sethour(int n) {
    currenthour = n;
    } public void setmin(int n) {
    currentmin = n;
    } public void setsec(int n) {
    currentsec = n;
    }
    }public class Clock { public static void main(String[] args) throws InterruptedException { ClockFace cf = new ClockFace();
    cf.pack();
    cf.setVisible(true); }
    }