怎么无法运行出结果,没显示错误。

package 项目三;
import javax.swing.*;
import java.awt.*;
import java.util.*;

public class Xunlian六 
{
   private JFrame jf;
   private JLabel labe11;
   private JLabel labe12;
   private JLabel labe13;
   //构造方法
   public Xunlian六( )
   {
	   jf=new JFrame("倒计时牌");//创建窗体,标题是“倒计时牌”
	   labe11=new JLabel("距离五一假期还有:");//labe11上提示倒计时内容
	   labe12=new JLabel("");//labe12中显示剩余时间
	   labe13=new JLabel("设计者:java老师祝大家节日快乐!");//labe12中显示剩余时间
	   jf.add(labe11,BorderLayout.NORTH);//添加喇叭1到窗体上方
	   jf.add(labe12,BorderLayout.CENTER);//添加喇叭1到窗体中间
	   jf.add(labe13,BorderLayout.SOUTH);//添加喇叭1到窗体下方
	   //创建RefreshTimeThread对象t
	   Thread t=new RefreshTimeFrameThread(new GregorianCalendar(2021,Calendar.MAY,1,0,0,0));
	   t.start( );//启动线程
   }
	//封装窗体的显示方法
   public void showMe( )
   {
	   jf.setBounds(200, 200, 300, 150);
	   jf.setVisible(true);
	   jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
	//主方法,生成TimeFrame对象并显示
   public static void main(String[] arg)
   {
	   new Xunlian六( );
   }
   
   //定义RefreshTimeFrameThread类,继承Thread类
   class RefreshTimeFrameThread extends Thread
   {
	private Calendar targetTime;
	
	//构造方法,传入倒计时的时间
	public RefreshTimeFrameThread(Calendar targetTime)
	{
		this.targetTime=targetTime;
	}
	//重写run方法
	public void run()
	{
		while(true)
		{
			//创建GregorianCalendar对象即现在的时间
			Calendar todayTime=new GregorianCalendar();
			//定义long类型的seconds,表示剩余的秒数
			long seconds=(targetTime.getTimeInMillis()-todayTime.getTimeInMillis())/1000;
			if(seconds<=0)//如果时间小于0,则说明时间到
			{
				labe12.setText("时间到!");
				break;
			}
			int day=(int)(seconds/(24*60*60));
			int hour=(int)(seconds/(60*60)%24);
			int min=(int)(seconds/60%60);
			String str=" "+day+" 天"+hour+"时"+min+"秒";
			labe12.setText(str);//刷新labe12上的时间
			try{
				Thread.sleep(1000);//每秒睡1秒,则计时牌时间每秒变一次
			}
			catch (InterruptedException e)
			{
				e.printStackTrace();
			}
			
		}
	}
   }
}

 

你在线程调用的函数里面用print输出数据看看,不报错因为线程执行的程序出错不会提示异常

labe12.setText(str);//刷新labe12上的时间

这种方式放在线程里面循环是不会刷新的,要传一个label2的引用到线程里面。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y