当前位置: 首页 > news >正文

Java---小球移动案例(附代码)

小球可以上下左右移动

import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; /** * 演示小球通过键盘进行上下左右的移动,讲解 Java 事件控制 */ public class BallMove extends JFrame { MyPanel mp = null; public static void main(String[] args) { BallMove ballMove = new BallMove(); } // 构造器 public BallMove() { mp = new MyPanel(); this.add(mp); // 把面板加入到窗口 this.setSize(400,300); // 设置大小 // 窗口 JFrame 可以监听键盘事件,即可以监听到键盘发生的面板事件 this.addKeyListener(mp); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 点 × 即退出 this.setVisible(true); // 设置为可见 } } // 面板,画出小球 // KeyListener 是一个监听器,它可以监听键盘事件 class MyPanel extends JPanel implements KeyListener { //为了让小球可以移动,把小球坐标设置成变量 int x = 10; int y = 10; @Override public void paint(Graphics g) { super.paint(g); g.drawOval(x,y,20, 20); // 把小球放在坐标为(10.10)的位置,大小为宽高各为20 } // 有字符输出时,该方法就会被触发 @Override public void keyTyped(KeyEvent e) { } // 当某个键被按下时,该方法会触发 @Override public void keyPressed(KeyEvent e) { // System.out.println((char)e.getKeyChar() + "被按下..."); // 根据用户按下的不同键,来处理小球移动 // 在 java 中,会给每个键分配一个值(int) ASCII码 if (e.getKeyCode() == KeyEvent.VK_DOWN) { // KeyEvent.VK_DOWN 就是向下的箭头对应的code y++; } else if (e.getKeyCode() == KeyEvent.VK_UP) { y--; } else if (e.getKeyCode() == KeyEvent.VK_LEFT) { x--; } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) { x++; } // 让面板重绘 this.repaint(); } // 当某个键被释放(松开)了,该方法被触发 @Override public void keyReleased(KeyEvent e) { } }
http://www.cnnetsun.cn/news/52166.html

相关文章:

  • 分享一个夸克网盘不限速的下载方法-在线免费工具
  • 1、现代 C++ 挑战:从基础到实战
  • 当数据回归遇上暴击流:SVM Adaboost实战手札
  • 65、文件管理子系统与网络协议通信概述
  • DAY18 机器学习
  • jd.item_review获取京东商品评论 及tb.item_review获取taobao商品评论
  • Windows11系统文件verifier.dll丢失或损坏问题 下载修复
  • C++树形数据结构————树状数组、线段树中“逆序对”的问题
  • 2025年B站视频下载终极指南:bilili工具完整使用教程
  • 教程 32 - 几何体系统
  • Cursor高级技巧与最佳实践
  • Cursor + MCP:冲击的不仅是前端,而是整个软件开发范式!
  • 2025年十大旗舰对决:极致轻薄成高端手机新战场
  • 【Vue3】 中 ref 与 reactive:状态与模型的深入理解
  • 毕设 stm32 RFID员工打卡门禁系统(源码+硬件+论文)
  • 全球最大、最领先的吉利全球全域安全中心正式发布
  • Android中Compose系列之按钮Button
  • wangEditor导入excel数据到html富文本编辑
  • 光伏电池simulink仿真模型 光伏电池建模仿真 包括改变温度 改变辐照度的特性分析 模型可...
  • JSP中如何利用分块技术实现百万文件上传优化?
  • 60、Ubuntu 安装硬件规划全攻略
  • 2025年12月— CET四六级答案
  • 锐捷RGSP | 端口安全技术原理与应用
  • Cameralink采集卡软件EspeedGrab使用讲解:4图像处理
  • 31、脚本编程进阶:Here文档、自上而下设计与流程控制
  • 信捷XDH系列PLC的追剪/飞剪/电子凸轮程序模板
  • 【大模型】-LangChain--stream流式同步异步
  • 兜兜英语每日短语:逃单篇
  • 计算机毕业设计springboot汽车智慧检修系统 基于SpringBoot的智能汽车故障预测与维修管理平台 融合IoT的SpringBoot车辆健康监测与维修决策系统
  • python3