hb0308513 2009-10-25 18:39
浏览 616
已采纳

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

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

 

  • 写回答

2条回答 默认 最新

  • tengxg 2009-10-25 22:56
    关注

    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来算,只要符合函数式就一样,也没有什么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作