思路:,想要让小球动起来首先需要让他在窗口的位置不断的变化才能实现,就直接在小球的定位代码下手创建一个变量X和Y 让他不停的做出重画动作
//加载窗口//小球水平飞//导入包
import java.awt.*;
import javax.swing.*;
编辑窗口的代码
public class BallGame extends JFrame{
int
i=1;
Image
ball = Toolkit.getDefaultToolkit().getImage(“images/ball.png”);//图片加载代码
Image
desk = Toolkit.getDefaultToolkit().getImage(“images/desk.jpg”);
//给小球定位在窗口的位置
double
x=100;//小球的坐标
double
y=100;
//小球运动的方向
boolean
right = true;
//让图片显示在窗口上的方法//画窗口的方法
public
void paint(Graphics g){
g.drawImage(desk,
0, 0, null);
g.drawImage(ball,
(int)x, (int)y, null);
if
(right) {
x=
x+10;
}else{
x=x-10;
//在这个过程中小球会超出桌子的边缘所以要减去相应的距离不然显得不真实
}if
(x>856-40-30) {//856是窗口的宽度,40是桌边的宽度,30是小球的直径
right=false;
}if(x<40){
//碰到边就会回弹
right
= true;
}}
void
launchFrame(){
setSize(856,500);//窗口大小;
setLocation(800,800);//出现位置定位
setVisible(true);
//重画窗口
重画就相当于刷新窗口,这样才能看到小球移动起来的效果
while(true){
repaint();
try{Thread.sleep(40);//毫秒Thread.sleep(40);//毫秒
}catch(Exception
e){e.printStackTrace();}}}
//main方法是程序执行的入口
public static void main(String[] args){
System.out.println("666");
BallGame game=new BallGame();
game.launchFrame();
}}
这样小球就会循环往复的移动了