A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© stormdzh 中级黑马   /  2013-9-12 14:26  /  1305 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.awt.*;
import java.awt.event.*;
class  objectMovement
{
public static void main(String[] args)
{
  Movement move=new Movement();
  move.setBounds(10,10,450,450);
  move.setVisible(true);
  move.setTitle("模仿自由落体和平抛运动");
  move.addWindowListener(new WindowAdapter(){public void WindowClosing(WindowEvent e){System.exit(0);}});
  //System.out.println("Hello World!");
}
}

class Movement extends Frame implements Runnable
{
Thread RedBall,BlueBall;
Ball red,blue;
double t=0;
Movement()
{
  RedBall=new Thread(this);
  red=new Ball(Color.red);
     BlueBall=new Thread(this);
  blue=new Ball(Color.blue);
  setLayout(null);
  add(red);
  add(blue);
  red.setLocation(50,100);
  blue.setLocation(80,100);
  RedBall.start();
  BlueBall.start();
}
public void run()
{
while (true)
{
  t=t+0.2;
  if(t>20) t=0;
  if (Thread.currentThread()==RedBall)
  {
   int x=50;
   int y=(int)(1.0/2*t*t*3.8)+50;
   red.setLocation(x,y);
   try
   {
    Thread.sleep(45);
   }
   catch (InterruptedException e)
   {
    e.printStackTrace();
   }
  }
  else if (Thread.currentThread()==BlueBall)
  {
   int x=50+(int)(26*t);
   int y=(int)(1.0/2*t*t*3.8)+50;
   red.setLocation(x,y);
   try
   {
    Thread.sleep(45);
   }
   catch (InterruptedException e)
   {
    e.printStackTrace();
   }
  }
}
}
}
class Ball extends Canvas
{
Color color;
Ball (Color color)
{
setSize(20,20);
this.color=color;
}
public void paint(Graphics g)
{
g.setColor(color);
g.fillOval(0,0,20,20);
}
}

以上是一个模仿自由落体运动的小实验。
运行结果:

zy.png (42.07 KB, 下载次数: 20)

zy.png

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1 下次不把代码放尖括号里面不加分哦....

查看全部评分

2 个回复

倒序浏览
本帖最后由 深知一生短暂 于 2013-9-12 15:38 编辑

顶起!!!!但有个问题,为什么是不断闪烁!!!
回复 使用道具 举报
不断的擦除
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马