Java中如何实现小球碰撞并使用按钮控制数量
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章将为大家详细讲解有关Java中如何实现小球碰撞并使用按钮控制数量,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先根据程序要求写了一个窗口package th
千家信息网最后更新 2025年11月09日Java中如何实现小球碰撞并使用按钮控制数量
这篇文章将为大家详细讲解有关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啦

另外有个拓展要求
使用鼠标控制增加球的数量
光增加怎么行呢,当然也得来一个减少
那就再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中如何实现小球碰撞并使用按钮控制数量"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
画布
小球
按钮
数量
控制
篇文章
碰撞
函数
更多
不错
实用
简简
内容
就是
文章
知识
程序
线程
鼠标
里加
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网红服务器推荐我的世界
数据库人物关系设计
联通的dns服务器
互联网科技产品介绍
维普在线数据库
医院软件开发价格
选修课选数据库技术怎么样
异步tcp服务器
软件开发计划所需工作描述
阜阳网络安全保卫队
数据库安全ppt模板
dell 哪款服务器适合家用
淄博软件开发建设
软件开发的高校
成都系统软件开发服务费
软件开发洪总
泉州国光软件开发
怀旧服178数据库
云原生企业数据库
达梦数据库批量插入
aspx找数据库
自动抢红包软件开发
嵌入式软件开发工程师发展方向
数据库中的选择运算举例
宜兴海航软件开发销售
华三服务器r590管理口ip
金融考研数据库
北京家用软件开发单价
计算机网络技术教学基础
天际网络安全