java----定时器学习
来源:互联网 发布:装修预算计算器 源码 编辑:程序博客网 时间:2024/06/06 12:57
定时器有时候是很有用的,例如那种限时的抢答题目或者游戏抽奖都是有时间限制的,接下来要学习一下最简单的计时器使用。
我是只做了一个面板,然后定时改变面板里面的内容,很简单的。
package Class1;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;//import java.util.Timer;import javax.swing.*;public class Dingshi extends JFrame {Stars s;Dingshi(){s=new Stars();this.add(s);this.setTitle("xingxisng");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(300,200);this.setVisible(true);}public static void main(String[] args) {// TODO Auto-generated method stubDingshi ds=new Dingshi();}}class Stars extends JPanel {int x=10;int y=10;int delay=100;Timer t1;public Stars(){super();this.setBackground(Color.BLACK);t1=new Timer(delay,task);t1.start();}public void paint(Graphics g){super.paint(g);g.setColor(Color.GREEN);g.drawOval(x, y, 7, 10);g.setColor(Color.WHITE);g.fillOval(x+30, y+50, 3,10);}ActionListener task=new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubx=(int) (Math.random()*200);y=(int)(Math.random()*100);repaint();}};}
顺便也把效果图片贴一下吧:
上面图中的绿色小圆圈和白点会随机在框内出现,他们的坐标主要是看task里面,设置了随机数的产生。
还有一种方法实现定时器的,那就是继承Timertask,实现runable接口,下面演示一下:
package Class1;import java.util.Timer;import java.util.TimerTask;public class Dingshi2 { public static void main(String[] args) {// TODO Auto-generated method stubint dl=5000;//延迟时间,即延迟五秒才开始执行任务Timer t=new Timer();abc task=new abc();//for(int i=0;i<10;i++)t.scheduleAtFixedRate(task, dl,1000);//这里是每隔1秒执行一次task}}class abc extends TimerTask implements Runnable{public void run() {//重写run方法,这里是输出一句话“I love you @!"// TODO Auto-generated method stubSystem.out.println("I love you @!");}}
效果图也贴上来吧:
之前还做过一个时钟表的,篇幅有限,就没贴上来了。在这里主要是想总结一下之前学过的东西,巩固一下,及时以后忘了,也可以在博客上看到这些资料,希望大家学完之后也多做总结,最好写成博客,供大家分享一下。
- java----定时器学习
- java 定时器学习
- Quartz学习, JAVA定时器
- 学习Java中的定时器
- Java学习之定时器
- JAVA定时器 (Timer TimerTask)学习
- [Java--定时器]--定时器举例
- 定时器学习
- 学习定时器
- 定时器学习
- JAVA定时器
- java 定时器
- JAVA定时器
- java定时器
- JAVA定时器
- Java定时器
- JAVA定时器
- JAVA定时器
- 从Ajax说开去----Web开发技术历史
- 继承父类使用关键字virtual和new的区别
- 图片和byte[]的互相转换
- C++网络编程的几个函数
- win7开机自启动虚拟路由器(续)
- java----定时器学习
- 创建一个完整的CCS工程(基于F2812)
- 项目成功的12个关键原则
- (一) MySQL之初见
- oracle行列转换
- 51下载时端口占用问题(接esata没有显示端口号问题)
- 考试的动力在哪里
- PHP中通过 JavaBridge+Lucene实现全文搜索站内搜索
- myeclipse优化,安装SVN插件