怎样编写一个采用Java多线程技术,模拟自由落体和平抛运动:一个球自由落下,一个球水平抛出的Java GUI应用程序?

编写一个Java GUI应用程序,采用Java多线程技术,模拟自由落体和平抛运动:一个球自由落下,一个球水平抛出。 (自由落体物理公式:h= g *t2/2 ;平抛运动物理公式:h= g *t2/2 ,x=26*t ;

 

package com.tkt;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Down extends JFrame implements Runnable{
int x=30,y=30; //坐标
long t=0; //时间
public Down(){
this.setSize(1200,700);
JPanel panel =new JPanel(){
public void paint(Graphics g){
x+=3*t; //自由落体就把这行代码注掉
y+=t*t/10;
g.fillOval(x,y,40, 40);//画小球的位置
}
};
this.setContentPane(panel);
panel.setBackground(Color.blue);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public static void main(String[] args) {
      Down d = new Down();
      new Thread(d).start();
}

public void run(){                //这个线程用来不断重画我们的图面
    while(true){
        try {
            Thread.sleep(50);    //每隔50ms画一次
            t+=1;
            this.repaint();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

}
这里面我只是没有按g=9.18m/s*s来算,只要符合函数式就一样,也没有什么

若按你给的参数,效果看的不明显,一闪而过,若想模拟的真实就对相应的参数缩小比例