currm=(int)cal2.get(Calendar.MINUTE);
currs=(int)cal2.get(Calendar.HOUR_OF_DAY);
//这样做的话说闹钟源代码Java我API已过时
//timeNow=new Date();
//currh=new Integer(timeNow.getHours());
//currm=new Integer(timeNow.getMinutes());
//currs=new Integer(timeNow.getSeconds());
if(setflag)
{ //判断是否设置了闹钟
//判断当前时间是否为闹钟所定的时间
if((currh.intValue()==Integer.valueOf(sethour.getText()).intValue())(currm.intValue()==Integer.valueOf(setmin.getText()).intValue())(currs.intValue()==Integer.valueOf(setsec.getText()).intValue()))
{
ring.play();
g.drawImage(gif1,83,280,this);
stopbutton.setVisible(true);
}
timedelta=currm.intValue()*60+currs.intValue()-Integer.valueOf(setmin.getText()).intValue()*60-Integer.valueOf(setsec.getText()).intValue();
if((timedelta=30))
{
//若当前时间与闹钟相差时间超过30秒,闹钟自动停
ring.stop();
//清除的方法
g.clearRect(83,280,20,30);
}
}
dat=null;
}
public void start()
{
if(timer==null)
{
timer=new Thread(this);//将timer实例化
timer.start();
}
}
public void stop()
{
timer=null;
}
//给创建线程后start之后自动执行的函数
public void run()
{
//在run()方法中,调用repaint()方法,以重绘小程序区,进行时钟显示的更新 。接着调用sleep方法让当前线程(也就是闹钟源代码Java我们创建的线程clockthread)睡眠1000毫秒,因为我们每秒钟要更新一下显示,所以让它睡眠1秒
while(timer!=null)
{
try
{
timer.sleep(1000);
}
catch(InterruptedException e)
{}
//调用repaint时 , 会首先清除掉paint方法之前的画的内容,再调用paint方法
repaint();//刷新画面
}
timer=null;
}
//当AWT接收到一个applet的重绘请求时,它就调用applet的 update(),默认地,update() 清除applet的背景,然后调用 paint() 。重载 update() , 将以前在paint()中的绘图代码包含在update()中,从而避免每次重绘时将整个区域清除
//有两种方法可以明显地减弱闪烁:重载 update()或使用双缓冲 。
//使用双缓冲技术:另一种减小帧之间闪烁的方法是使用双缓冲,它在许多动画Applet中被使用 。其主要原理是创建一个后台图像 , 将需要绘制的一帧画入图像,然后调用DrawImage()将整个图像一次画到屏幕上去;好处是大部分绘制是离屏的,将离屏图像一次绘至屏幕上比直接在屏幕上绘制要有效得多,大大提高做图的性能 。
//双缓冲可以使动画平滑,但有一个缺点,要分配一张后台图像,如果图像相当大,这将需要很大一块内存;当你使用双缓冲技术时 , 应重载 update() 。
public void update(Graphics g)
{
Image offscreen_buf=null;
//采用双缓冲技术的update()方法
if(offscreen_buf==null)
offscreen_buf=createImage(600,420);
Graphics offg=offscreen_buf.getGraphics();
offg.clipRect(1,1,599,419);
paint(offg);
Graphics ong=getGraphics();
ong.clipRect(1,1,599,419);
ong.drawImage(offscreen_buf,0,0,this);
}
/** Creates a new instance of AlarmClock */
}
闹钟源代码Java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于闹钟java设计代码、闹钟源代码Java的信息别忘了在本站进行查找喔 。
推荐阅读
- ios14系统怎么调大小,ios14屏幕放大怎么缩小
- 自己给显卡换芯片会怎么样,自己更换显卡需要注意什么
- 游戏钟馗角色扮演攻略,游戏钟馗角色扮演攻略大全
- 手机飞行系列游戏下载,手机飞行类游戏
- java错误代码返回前端 java返回异常
- linux执行命令卡死,linux卡死按哪几个键
- chatgpt综合素质教育重要,综合素质教育的重要性
- 电商运营如何计税,电商运营怎么收费
- 包含linux下ntp命令的词条