使用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 }
时间: 2024-11-05 19:17:52

使用java实现持续移动的小球的相关文章

Jenkins+Maven进行Java项目持续集成

最近配置了Jenkins服务器,记录下基本过程.(当然还遇到了若干小问题,兵来将挡水来土掩就是了) Jenkins安装 安装Tomcat 从Jenkins官网下载jenkins.war文件.官网地址:http://jenkins-ci.org/,注意选择最新版本的Long-Term Support Release 把war文件部署到Tomcat中 启动Tomcat 在浏览器中配置Jenkins,浏览器地址:http://{Tomcat IP}:{Tomcat port}/jenkins/ Jen

Java:持续革新的20年

今年的5月23日是Java第一版正式推出20周年的日子.它的推出伴随和促进了Web的发展,提升了生产力,为公司与消费者之间的互动带来了全新方式. 作为一种被广泛采用的编程语言,Java为技术的推广与普及起到了不可忽视的作用.例如,大数据革命就是由Java引发的. 对于企业界来说,很多服务器都部署着Java应用程序,许多物联网设备也都是基于Java技术开发. 20年前,Java为人们带来前所未有的科技理念:一次编写,到处运行. 在此之前,编程语言的种类寥寥无几,而且大多针对固定用途:Fortran

JAVA基础----持续更新

1.基本数据类型 - 整数型:byte  short  int  long   默认为int 计算时需要转换 - 浮点型:float  double     默认为double - 布尔类型:boolean - 字符型 2.引用类型     包括数组,类,接口 类型  引用对象  =  new  构造方法( ): Person  p  =  new  Person();   Person作为一个引用类型 3.函数或方法 - 方法的重载:函数名一样,参数个数.类型不一样,返回值可相同可不同 - 重

算法之路——POJ刷题(Java,持续更新中)

先拿一些水题来练手了 1.POJ1000 import java.util.Scanner; /** * Created by mxcsky on 2015/1/25. */ public class POJ1000 { public static void main(String[] args){ Scanner in = new Scanner(System.in); int a = in.nextInt(); int b = in.nextInt(); System.out.println

tomcat+java的web程序持续占cpu问题调试

原文出处:http://www.blogjava.net/hankchen 现象: 在tomcat中部署java的web应用程序,过一段时间后出现tomcat的java进程持续占用cpu高达100%,导致web程序访问受阻. 可能原因分析: 可能程序确实在进行数据计算:或程序进入死循环: 解决方法: 1.先用top查看占用cpu的进程id 2.再用ps -ef | grep PID定位具体的进程主体:如是否是tomcat启动的java程序 3.用ps -mp pid -o THREAD,tid,

4个理由告诉你Java为何排行第一

Java已经有20年的历史了,甚至更久,而这取决于你所询问的人和你的计算方式.忽略它的年龄不看,Java依然排行第一.它的实用性.性能和向后兼容性都彰显其价值所在.2016年伊始,标志着我们已经走过了Java的20年历程.事实上,虽然Java宣称是于1995年5月23日公开发行(HotJava 浏览器却并没有获得同样的成功),但第一版官方JDK是在1996年的1月23日才正式发行,因此Java可以称得上是刚满20岁.Java身上有很多值得回顾的东西,但我想更加令人感兴趣的是Java在20年之后依

使用Docker实现丝般顺滑的持续集成

持续集成(Continuous Integration,简称CI)作为先进的项目实践之一,近年来逐渐受到国内软件公司的重视:但对于许多朋友来说,可能从未听说过持续集成这个词,抑或只是了解概念但并没有实践过. 什么是持续集成?它对软件开发有哪些好处呢? 持续集成的概念 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能在不断变化的需求中快速适应和保证软件质量也显得

有容云老司机带路, 使用Docker实现丝般顺滑的持续集成

持续集成作为最先进的项目实践之一,近年来逐渐受到国内软件公司的重视:但对于许多朋友来说,可能从来都没有听说过持续集成这个词,抑或只是了解一个概念但并没有实践过. 什么是持续集成?它对软件开发有哪些好处呢? 持续集成的概念 持续集成,Continuous integration ,简称CI. 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能在不断变化的需求中快

自动化运维持续集成

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI).持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量.它的核心措施是,代码集成到主干之前,必须通过自动化测试.只要有一个测试用例失败,就不能集成.讨论关注以下几点: 持续集成概念的理解.了解持续交付和持续部署.熟悉持续集成操作流程. 一.概述持续集成流程: 开发团队 -> 源代码编码(开发语言)-> 代码版本控制(Gitlab) -> Docke