使用java實現持續移動的小球


原創作品,可以轉載,但是請標注出處地址http://www.cnblogs.com/V1haoge/p/5559829.html

僅為自己學習作品,使用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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM