zoukankan      html  css  js  c++  java
  • 使用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 }
  • 相关阅读:
    内置函数二
    通信的几个程序
    TCP协议和UDP协议
    异常处理
    logging模块
    网络编程一些概念
    hashlib
    序列化模块
    time,sys,os模块
    random模块
  • 原文地址:https://www.cnblogs.com/V1haoge/p/5559829.html
Copyright © 2011-2022 走看看