java----定时器学习

     定时器有时候是很有用的,例如那种限时的抢答题目或者游戏抽奖都是有时间限制的,接下来要学习一下最简单的计时器使用。

我是只做了一个面板,然后定时改变面板里面的内容,很简单的。

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 stub
Dingshi 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()
	{
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			x=(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 stub
		int 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 stub
		System.out.println("I love you @!");
	}

	
}


效果图也贴上来吧:

之前还做过一个时钟表的,篇幅有限,就没贴上来了。在这里主要是想总结一下之前学过的东西,巩固一下,及时以后忘了,也可以在博客上看到这些资料,希望大家学完之后也多做总结,最好写成博客,供大家分享一下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值