import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Ball1 {
public static void main (String args[]){
Frame w=new Frame();
w.setSize(400, 600);
w.setBackground(Color.black);
MyPanel mp=new MyPanel();
w.add(mp);
Thread t=new Thread();
t.start();
w.show();
w.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
class MyPanel extends Panel implements Runnable{
int x=100;
int y=0;
public void paint(Graphics g){
g.setColor(Color.pink);
g.fillOval(x, y, 40, 40);
}
public void run() {
while(true) {
x ++;
y ++;
try {
Thread.sleep(6);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
repaint();
}
}
}
想用java做个运动小球,球出来了但不会动,不知道哪里有问题
答案:2 悬赏:80 手机版
解决时间 2021-03-19 19:17
- 提问者网友:爱了却不能说
- 2021-03-18 18:38
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-03-18 20:06
你的运动线程没有启动,你是通过runnable接口实现线程的实例线程类时没有把runnable传进去。
这样改
MyPanel mp=new MyPanel();
w.add(mp);
Thread t=new Thread(mp);//把接口传给线程类
t.start();
就好了
这样改
MyPanel mp=new MyPanel();
w.add(mp);
Thread t=new Thread(mp);//把接口传给线程类
t.start();
就好了
全部回答
- 1楼网友:孤老序
- 2021-03-18 21:15
你自己圆心坐标是知道的,半径也是确定的,然后用math里面的三角函数可以求得圆周上的所有点的坐标。实际上你并不需要求的每个点的坐标,你可以假定5度一个点,用个循环来取点的坐标,然后放到一个集合里面,然后你就用集合里面点的坐标画小的实心圆就行了。定时画,这样它的运行轨迹就是在圆上运动。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯