我想知道你们是否可以帮助我。我正在尝试使用Java内置的图形模块制作动画程序......事实上,Java会立即执行所有操作;不同的动画之间没有任何时间。最终产品只是最后一张图。我需要一个在每张图片之间放置半秒钟的功能。
感谢任何帮助。
规格:Blue-J,JDK 6。
编辑:顺便说一下,我是一个Java新手,这是一个类的东西。任务是制作一个动画,并按'c'前进每一帧,但我认为那有点贫民窟,所以我想要更好的东西。答案 0 :(得分:4)
创建一个执行每X毫秒的javax.swing.Timer,并在每次触发时绘制一帧。
这是来自javadoc的示例:
int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//...Perform a task...
}
};
new Timer(delay, taskPerformer).start();
修改延迟,例如20毫秒。如果您的绘画不需要太长时间,那么每秒可以获得大约50帧。
答案 1 :(得分:0)
也许一个简单的睡眠可能对你来说足够了?
Thread.sleep(milliseconds);
答案 2 :(得分:0)
改变你的
public static void main(String[] args){
到
public static void main(String[] args) throws InterruptedException {
并在该方法中输入
Thread.sleep(milliseconds you want);