Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » 实战错误讨论  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 紧急求救,在线等回答,,,为什么会是这样?(运行时月会提前一个月)
wxfk12345





发贴: 5
积分: 0
于 2005-12-04 08:50 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
本程序是完成显示系统当前时间的,为什么编译通过后,,系统日期是显示前一个月?郁闷中,本人是新手,不太了解,请各位高手们指导指导.

程序代码如下:

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)+"秒");
  }
}
}

不知怎么会这样,本人在线等您的指导.


why edited on 2005-12-04 17:05

为了JAVA,为了我的前途,为了我的将来,为了.......
我拼了~~~~一起加油吧~~~~~
相信JAVA, 相信中国, 相信自己~~~~

Java应用者与<IDE/环境>

话题树型展开
人气 标题 作者 字数 发贴时间
7811 紧急求救,在线等回答,,,为什么会是这样?(运行时月会提前一个月) wxfk12345 3128 2005-12-04 08:50
5829 Re:紧急求救,在线等回答,,,为什么会是这样? wmgreat 23 2005-12-04 09:23
5887 Re:紧急求救,在线等回答(运行时为什么月会提前一个月) why 1000 2005-12-04 11:21
6112 Re:紧急求救,在线等回答,,,为什么会是这样? wxfk12345 5 2005-12-04 11:11
6545 Re:紧急求救,在线等回答,,,为什么会是这样? wxfk12345 21 2005-12-04 11:31

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923