java – 如何使用swing和clojure做动画?

我试图在棋盘上制作棋子.首先,我创建了一个 java.util.Timer对象,“scheduleAtFixedRate”是一个实现为代理函数的TimerTask.因此,我记录了要移动的部分(片段移动记录)以及何时适当(当用户使用鼠标移动部分时),如果记录不是nil并执行片段,则应测试TimerTask代理函数 – 移动功能.片段移动功能仅根据预先计算的矢量更新片段的x和y坐标.我在片段移动记录上添加了一个添加手表,所以当它改变时它应该重新绘制板(画布). paint方法测试这件棋子的动作记录是否为零.

问题是动画没有出现.这件作品只是跳到命运,没有两者之间的运动.动画方案有一些问题,你有更好的方法吗?

解决方法

Swing组件的更新应该在Event Dispatch Thread(EDT)上完成.所以你应该使用Swing Timer,因为在EDT上执行Timer时会执行任何代码.

你应该做的就是设置棋子的位置,它将自动重绘自己.

有关更多信息,请阅读How to Use Timers上的Swing教程中的部分.

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...