iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Java中如何实现小球碰撞并使用按钮控制数量
  • 794
分享到

Java中如何实现小球碰撞并使用按钮控制数量

2023-06-22 04:06:49 794人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Java中如何实现小球碰撞并使用按钮控制数量,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先根据程序要求写了一个窗口package three.day; i

这篇文章将为大家详细讲解有关Java中如何实现小球碰撞并使用按钮控制数量,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

先根据程序要求写了一个窗口

package three.day; import java.awt.event.*;import javax.swing.*; public class windows extends JFrame{DrowJPs jp=new DrowJPs();public void init() {this.setSize(800,500);this.setLocationRelativeTo(rootPane);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setTitle("天沫丶寒枫");this.add(jp);this.setVisible(true);}public static void main(String[] args) {Windows win=new Windows();win.init();} }

然后写一个画图

package three.day;import java.awt.Color;import java.awt.Graphics;import javax.swing.JPanel; public class DrowJPs extends JPanel implements Runnable{int[] x=new int[1000],y=new int[1000],s=new int[1000],xt=new int[1000],yt=new int[1000];int[] r=new int[1000],g=new int[1000],b=new int[1000];int num=5;public DrowJPs() {for (int i = 0; i < 1000; i++) {x[i]=(int)(Math.random()*450);y[i]=(int)(Math.random()*230);r[i]=(int)(Math.random()*256);g[i]=(int)(Math.random()*256);b[i]=(int)(Math.random()*256);xt[i]=(int)(Math.random()*4+1);yt[i]=(int)(Math.random()*4+1);s[i]=(int)(Math.random()*200+20);}Thread t=new Thread(this);Thread t1=new Thread(this);t.start();t1.start();}public void paint(Graphics gr) {super.paint(gr);setBackground(Color.pink);for (int i = 0; i < num; i++) {gr.setColor(new Color(r[i],g[i],b[i]));gr.fillOval(x[i], y[i], s[i], s[i]);}}public void run() {while(true) {for (int i = 0; i < num; i++) {if(x[i]<=0|x[i]>=(790-s[i]))xt[i]*=-1;if(y[i]<=0|y[i]>=(465-s[i]))yt[i]*=-1;x[i]+=xt[i];y[i]+=yt[i];try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}repaint();}}}}

开了俩个线程,一个数量大了有点卡

这样运行就ok啦

Java中如何实现小球碰撞并使用按钮控制数量

另外有个拓展要求

使用鼠标控制增加球的数量

光增加怎么行呢,当然也得来一个减少

那就再init函数里加入

JButton btn = new JButton("增加一个小球");JButton btn1 = new JButton("减少一个小球");btn.setBounds(0, 0, 400, 600);btn1.setBounds(400, 0, 400, 600);this.add(btn);this.add(btn1);btn.addActionListener(new MyListener());btn1.addActionListener(new MyListener1());

注意画布jp一定要加在按钮的后面

不然是看不见画布的

再写俩个监听就行了

class MyListener implements ActionListener{public void actionPerfORMed(ActionEvent e) {jp.addnum(0);}}class MyListener1 implements ActionListener{public void actionPerformed(ActionEvent e) {jp.addnum(1);}}

传01方便画布那边检测增减

画布那边简简单单加个设置num的函数就行

public void addnum(int i) {if(i==0)num++;else num--;}

呼,完成了,就是按钮不时地会闪现出来有点烦,

还有球减到0画布可就没了

关于“Java中如何实现小球碰撞并使用按钮控制数量”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Java中如何实现小球碰撞并使用按钮控制数量

本文链接: https://www.lsjlt.com/news/302417.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中如何实现小球碰撞并使用按钮控制数量
    这篇文章将为大家详细讲解有关Java中如何实现小球碰撞并使用按钮控制数量,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先根据程序要求写了一个窗口package three.day; i...
    99+
    2023-06-22
  • Java中小球碰撞并使用按钮控制数量实例代码
    刚开始实训第三天,要求java做一个小球碰撞的小游戏,啥也不会的我,决定写写啥。 先根据程序要求写了一个窗口 package three.day; import java.a...
    99+
    2024-04-02
  • 如何使用HTML5实现使用按钮控制背景音乐开关
    小编给大家分享一下如何使用HTML5实现使用按钮控制背景音乐开关,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 我们有时会在页...
    99+
    2024-04-02
  • 如何利用HTML5实现使用按钮控制背景音乐开关
    这篇文章主要介绍“如何利用HTML5实现使用按钮控制背景音乐开关”,在日常操作中,相信很多人在如何利用HTML5实现使用按钮控制背景音乐开关问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • js中如何实现控制按钮防止频繁点击响应
    这篇文章主要为大家展示了“js中如何实现控制按钮防止频繁点击响应”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中如何实现控制按钮防止频繁点击响应”这篇文章吧...
    99+
    2024-04-02
  • 如何使用Java和Git实现Django的并发控制?
    Django是一个流行的Python web框架,它以简单易用和高效稳定著称。然而,在高并发的情况下,Django可能会遇到一些性能问题。这时,使用Java和Git来实现Django的并发控制是一个不错的选择。本文将介绍如何使用Java和...
    99+
    2023-10-16
    git django 并发
  • 如何使用Java和Spring实现高效的并发控制和数据响应?
    随着互联网的发展,我们越来越需要处理大量的数据和请求。为了提高系统的性能和可靠性,我们需要实现高效的并发控制和数据响应。在本文中,我们将介绍如何使用Java和Spring实现高效的并发控制和数据响应。 一、Java并发控制 Java提供了...
    99+
    2023-11-06
    响应 并发 spring
  • 如何在Java和Django中实现高效的并发控制?
    随着互联网的快速发展,高并发的情况越来越普遍。在Java和Django中实现高效的并发控制是非常重要的。在本文中,我们将介绍一些在Java和Django中实现高效的并发控制的方法,并提供相应的代码演示。 一、Java中的并发控制 在Java...
    99+
    2023-09-10
    django 同步 并发
  • 如何使用jQuery实现两个div中按钮互换位置
    这篇文章将为大家详细讲解有关如何使用jQuery实现两个div中按钮互换位置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果如下 代码如下:<head&...
    99+
    2024-04-02
  • 如何在ASP.NET应用程序中实现并发控制?
    在ASP.NET应用程序中实现并发控制是一个非常重要的问题。在这个过程中,我们需要考虑多个用户同时访问应用程序的情况,以确保应用程序在高负载下能够正常运行。 一、 什么是并发控制? 并发控制是指在多个用户同时访问应用程序时,通过一些手段来确...
    99+
    2023-07-20
    并发 spring 日志
  • Java中,如何使用数组实现并发接口?
    在Java编程中,数组是一种非常常见的数据结构。同时,在多线程编程中,并发接口也是必不可少的。那么,在Java中,如何使用数组实现并发接口呢?本文将从以下几个方面进行介绍: Java中的并发接口 在Java中,有很多种并发接口,例如:...
    99+
    2023-06-24
    数组 接口 并发
  • python如何使用tkinter实现透明窗体上绘制随机出现的小球
    这篇文章主要介绍了python如何使用tkinter实现透明窗体上绘制随机出现的小球,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、画个大球看看(一)核心代码在on_res...
    99+
    2023-06-15
  • 使用Java如何控制正则表达式中的大小写
    使用Java如何控制正则表达式中的大小写?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体如下:默认是:区分大小写的;传递标志参数:Pattern.CASE_INSENSI...
    99+
    2023-05-31
    java 正则表达式 ava
  • JavaScript在form表单中如何使用button按钮实现submit提交方法
    这篇文章将为大家详细讲解有关JavaScript在form表单中如何使用button按钮实现submit提交方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。submit...
    99+
    2024-04-02
  • 如何使用java实现猜数字小游戏
    这篇文章给大家分享的是有关如何使用java实现猜数字小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。题目描述:猜数字(又称 Bulls and Cows )是一种古老的的密码破译类益智类小游戏,起源于20世纪...
    99+
    2023-06-14
  • Java中如何使用NumPy实现并发计算?
    Java是一门功能强大的编程语言,能够用于开发各种类型的应用程序。而NumPy则是一种用于数学计算的Python库,它可以帮助开发者进行高效的数组计算。本文将介绍如何在Java中使用NumPy实现并发计算。 一、Java中使用NumPy的...
    99+
    2023-07-23
    numy 并发 npm
  • layui如何使用button按钮实现点击出现弹层、弹层中加载表单
    小编给大家分享一下layui如何使用button按钮实现点击出现弹层、弹层中加载表单,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2024-04-02
  • Spring Boot中使用Spring Security如何实现安全控制
    Spring Boot中使用Spring Security如何实现安全控制?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。准备工作首先,构建一个简单的Web工程,...
    99+
    2023-05-31
    springboot spring security
  • 在java项目中使用线程池如何实现获取运行线程数并控制线程启动速度
    这期内容当中小编将会给大家带来有关在java项目中使用线程池如何实现获取运行线程数并控制线程启动速度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在java里, 我们可以使用Executors.newFi...
    99+
    2023-05-31
    java 线程池 线程
  • 如何在 Python 中使用同步对象实现 Apache 服务器的并发控制?
    Python 是一种高效、易学、功能强大的编程语言,因此在 Web 开发中得到了广泛应用。Apache 是最流行的 Web 服务器之一,但是在高负载环境下,需要实现并发控制,以确保服务器的稳定性和可靠性。在 Python 中,可以使用同步对...
    99+
    2023-10-29
    同步 对象 apache
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作