`
JAVA天地
  • 浏览: 673582 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

一個小小的移動(利用Timer及TimerTask)

阅读更多

import java.awt.Dimension;

import java.awt.Rectangle;

import java.util.Date;
import java.util.Timer;

import java.util.TimerTask;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Frame1
extends JFrame
{
private JButton jButton1 = new JButton();
//生成一個定時器
Timer moveTimer = new Timer();
int x;
int y;
int frameLeft;
int frameRight;
public Frame1()
{
try
{
jbInit();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
x=jButton1.getX();
y=jButton1.getY();
frameLeft=this.getX()+this.getWidth();
frameRight=this.getY()+this.getHeight();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void move()
{
Date date=new Date(System.currentTimeMillis()+1000);
//使用內部類執行
moveTimer.schedule(new TimerTask()
{
public void run()
{
x+=40;
System.out.println("X:"+x);
System.out.println("frameLeft:"+frameLeft);
//如果此時已經到了最右邊,那就從左邊開始循環
if(x>=frameLeft)
{
//x=frameX-jButton1.WIDTH;
x=frameLeft-x;
}
jButton1.setLocation(x,y);
}
},date,1000);
}
private void jbInit()
throws Exception
{
this.getContentPane().setLayout(null);
this.setSize(new Dimension(400, 300));
jButton1.setText("jButton1");
jButton1.setBounds(new Rectangle(70, 50, 95, 45));
this.getContentPane().add(jButton1, null);
}
public static void main(String[] arg)
{
Frame1 frame=new Frame1();
frame.setVisible(true);
frame.move();
}
}

分享到:
评论

相关推荐

    Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作

    下面是一个在Android中使用定时器Timer和TimerTask的启动,停止,暂停,继续等操作的demo。 需要注意的问题主要有两点: 1、Timer和TimerTask在调用cancel()取消后不能再执行 schedule语句 2、只能在UI主线程中更新...

    Timer和TimerTask的使用

    在上述代码示例中,我们看到了一个简单的`Timer`和`TimerTask`的使用案例: ```java public class TimerTest { public static void main(String[] args) { Timer timer = new Timer(); timer.schedule(new My...

    Java计时器Timer和TimerTask用法总结

    在上面的示例代码中,我们创建了一个 Timer 对象,并定义了一个 TimerTask 对象。在 TimerTask 对象中,我们重写了 run() 方法,用于定义需要执行的任务。在 timer.schedule() 方法中,我们指定了执行任务的时间点为...

    Timer与TimerTask(计时器)

    `Timer`类是一个实用工具类,它提供了一个框架来调度事件,可以用来安排一个或多个`TimerTask`对象的执行。`Timer`类的主要功能包括: - 创建`Timer`实例:`Timer()`构造函数创建一个新的`Timer`对象,而`Timer...

    TimerTask与Timer设计时间监控

    `Timer`类主要负责调度任务,可以创建一个定时器实例,然后安排一个或多个`TimerTask`在未来执行。它有两种主要的方法:`schedule(TimerTask task, long delay)`和`schedule(TimerTask task, Date firstTime, long ...

    Java中的Timer和TimerTask简介(附完整代码实例)

    Java中的Timer和TimerTask简介(附完整代码实例)。 在Java中,Timer和TimerTask是两个经常用来实现定时器的类。这两个类使用起来非常方便,可以完成...TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

    Timer,TimerTask 动态显示文字

    而`TimerTask`是`Timer`类的一个子任务,我们可以在其中定义需要执行的具体操作。这种机制允许开发者创建非阻塞的定时任务,不会直接影响到用户界面的流畅性。 首先,我们需要创建一个`TimerTask`的子类,重写其`...

    JAVA定时器之Timer+TimerTask

    - 虽然`Timer`可以调度多个任务,但这些任务是按照FIFO(先进先出)的顺序执行的,即一个任务执行完毕后,下一个任务才会开始。 - 如果一个`TimerTask`被调度多次,而它还在执行中,那么新调度的任务将会被积压,...

    ServletContextListener,Timer,TimerTask学习笔记

    例如,可以利用`contextInitialized`方法初始化`Timer`,并设置一个`TimerTask`来定期检查数据库连接池的状态: ```java public class PoolHealthCheckListener implements ServletContextListener { @Override ...

    ICE_Timer and TimerTask相关

    2. **创建定时器并调度任务**:接着创建一个 `Timer` 实例,并使用 `scheduleRepeated` 方法调度任务。 ```cpp Timer timer; TimerTaskPtr task = new PrintMessageTask(); timer.scheduleRepeated(task, ...

    Web中使用Timer和TimerTask定时获取数据。

    `TimerTask`是`Timer`类的工作基础,它是一个抽象类,需要我们继承并重写其`run()`方法,这个方法就是实际要执行的任务逻辑。`TimerTask`还提供了一些生命周期的方法,如`cancel()`,可以用来取消已经安排但尚未执行...

    Android Timer TimerTask Handler

    1. 创建一个`Timer`对象和一个`TimerTask`,在`TimerTask`的`run()`方法中执行需要定时执行的任务,如数据的获取或计算。 2. 当`TimerTask`的`run()`方法执行完毕后,通过`Handler`的`sendMessage()`或`post()`方法...

    Java中的Timer和TimerTask的使用.doc

    在示例代码中,我们创建了一个名为`MyTimerTask`的`TimerTask`子类,它有一个`index`变量来跟踪执行次数,以及一个`Timer`实例用于调度任务。`start()`方法使用`Timer`的`schedule()`或`scheduleAtFixedRate()`方法...

    JavaTimer和TimerTask实例教程Java开发

    在这个例子中,我们创建了一个`Timer`和一个`TimerTask`,然后让`Timer`在5秒后执行一次任务,接着每2秒执行一次。`schedule`方法用于单次定时执行,而`scheduleAtFixedRate`则用于周期性执行。 **4. 注意事项** -...

    java类Timer和TimerTask的使用.doc

    java类Timer和TimerTask的使用.doc

    使用Timer和TimerTask实现周期任务

    `Timer` 类的另一个特点是,如果一个正在执行的 `TimerTask` 花费了过长的时间,那么其他任务的执行将会被延迟,这被称为“堆积延迟”。为了解决这个问题,可以考虑使用 `ScheduledExecutorService`,它是 Java 5 ...

    详解JAVA Timer和TimerTask

    Timer可以调度任意多个TimerTask,它会将TimerTask存储在一个队列中,顺序调度。如果想两个TimerTask并发执行,则需要创建两个Timer。 JAVA TimerTask JAVA TimerTask是一个抽象类,实现了Runnable接口,所以具备...

    java类Timer和TimerTask的使用.pdf

    `Timer`类是一个线程类,它负责调度和执行`TimerTask`实例。`Timer`类主要有两个方法来安排任务执行: 1. `schedule(TimerTask task, long delay)`:这个方法会在指定的延迟(以毫秒为单位)后执行一次任务。例如,...

    Android Timer Task Demo

    创建一个`TimerTask`对象,然后将其添加到`Timer`中,就可以按照设定的时间间隔重复或一次性执行该任务。 首先,我们创建一个`TimerTask`的子类,实现`run()`方法,这个方法就是定时任务的具体实现: ```java ...

    几种定时任务(Timer、TimerTask、ScheduledFuture)的退出—结合真实案例【JAVA并发】.docx

    Timer类是一个用于调度定时任务的工具,它使用单个后台线程来执行任务。TimerTask是Timer类所调度的任务的抽象类,我们需要创建其子类并重写run()方法来实现具体的业务逻辑。例如,在文件生成监控的场景下,我们可以...

Global site tag (gtag.js) - Google Analytics