仅为自己学习作品,使用java的JFrame框架实现持续移动的小球。
最核心的部分为实现小球移动的move()方法,在小球碰到墙壁四壁的时候得以反弹,不会移到墙壁之外。
复制代码
1 /*
2 使用java实现持续移动的小球
3 */
4
5 package jframe;
6
7 import java.awt.Color;
8 import java.awt.Graphics;
9
10 import javax.swing.JFrame;
11
12 public class JFrameTest extends JFrame{
13 //定义移动变量
14 int x = 0;
15 int y = 0;
16 int m = 1;
17 int n = 1;
18 //主函数
19 public static void main(String[] args) {
20 new JFrameTest();
21 }
22 //使用构造器创建窗体并设置
23 public JFrameTest(){
24 this.setVisible(true);
25 this.setSize(500,500);
26 this.setDefaultCloseOperation(3);
27 this.setLocation(400, 100);
28 this.setResizable(false);
29 this.setTitle("测试框架");
30 move();
31 }
32 //重写画图方法
33 @Override
34 public void paint(Graphics g) {
35 super.paint(g);
36 g.setColor(Color.BLACK);
37 g.fillOval(x, 25 + y, 50, 50);
38 }
39 //定义小球移动轨迹
40 public void move(){
41 while(true){
42 x += m;
43 y += n;
44 if(x >= 450){
45 m = -m;
46 }
47 if(x < 0){
48 m = 1;
49 }
50 if(y >= 425){
51 n = -n;
52 }
53 if(y < 0){
54 n = 1;
55 }
56 try {
57 Thread.sleep(1);
58 } catch (InterruptedException e) {
59 e.printStackTrace();
60 }
61 repaint();
62 }
63 }
64 }
复制代码
好看的MM图片图片