问题描述
我正在大学学习 Java 课程,我有一个期末项目,我必须在按下 J 按钮时启动动画。我有一个菜单类和一个动画类。我可以从菜单类中的任何位置播放动画,除非我从动作侦听器播放动画,然后代码运行但不显示动画。这是一个物理模拟,所以我可以在终端中看到我正在打印的所有数学运算,但帧保持空白,直到动画的最后一帧。
我正在使用提供给我们的名为“Standard Draw”的绘图和动画库,它似乎也使用了 Swing。我尝试了不同类型的监听器,但都行不通。有人有什么建议吗?
标准绘图链接:https://introcs.cs.princeton.edu/java/stdlib/StdDraw.java.html
new MouseListener() {
public void mousepressed(MouseEvent e) {
started();
};
public void mouseReleased(MouseEvent e) {};
public void mouseClicked(MouseEvent e) {};
public void mouseEntered(MouseEvent e) {
start.setBackground(Color.blue);
};
public void mouseExited(MouseEvent e) {
start.setBackground(Color.red);
};
--------------------------------------------------------------------------------------------------------
public static void started(){
getNums();
try{
clicked = false;
N = Integer.parseInt(n);
M = Double.parseDouble(m);
L = Double.parseDouble(l);
A = Double.parseDouble(a);
f.dispose();
pend = new Pendulum(N,M,L,A);
}
catch(Exception NumberFormatException){
clicked = false;
error();
}
}
(在班级中)
public Pendulum(int N,double m,double l,double a) {
input(N,m,l,a);
canvas();
animate();
}
--------------------------------------------------------------------------------------------------------
public static void animate(){
stddraw.enableDoubleBuffering();
for (double t = 0; t < 100; t += FRAME_T/1000.0) {
...(ALL OF MY MATH AND DRAWING)...
stddraw.show();
stddraw.pause(FRAME_T);
stddraw.clear();
}
stddraw.disableDoubleBuffering();
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)