当前位置: 首页 > 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.gsyq.cn/news/98809.html

相关文章:

  • 7、算法与数据结构:多种问题的解决方案
  • 8、C++算法与数据结构实用案例解析
  • 不需要下载夸克直链网盘下载-在线免费工具
  • 设备预测性维护技术拆解与落地实战
  • 51、STREAMS 调度与流头操作详解
  • Windows系统win32k.sys文件 缺少下载文件
  • 65、文件管理子系统与网络协议通信概述
  • openpnp - Smoothieware - MKS SGEN_L V1.0 + JLink-edu-mini 连接测试
  • Proceed 英文单词学习
  • 【30天从零学Python】重要补充四、检测有向环 - Kahn算法
  • 7层深度的招商引资,进入财情共创时代:价值倍增的新质生产力,实现高质量发展
  • 贪心算法简介
  • 2025年回弹仪十大品牌实力盘点,谁主沉浮?裂缝测宽仪/一体式楼板测厚仪/填土密实度检测仪/钢筋位置测定仪/高强回弹仪回弹仪品牌哪家好 - 品牌推荐师
  • 基于Java Swing的打砖块小游戏(1)
  • 蓝桥杯Python-语法基础-2
  • JSP如何整合第三方控件支持大文件上传?
  • C++树形数据结构————树状数组、线段树中“逆序对”的问题
  • Windows11系统文件verifier.dll丢失或损坏问题 下载修复
  • Flutter性能优化实战:从卡顿排查到极致体验的落地指南
  • 毕业设计项目 基于机器视觉的目标跟踪算法
  • 中高端路由器选购指南:Wi-Fi 7与硬件配置全解析
  • mustache.js实战精通:从入门到高级应用的完整指南
  • Nginx核心架构设计
  • 2025年年终全自动洗车机厂家推荐:专家严选,不同运营场景下的5款高可靠性品牌清单 - 品牌推荐
  • 【Git原理与使用】(六)Git 企业级开发模型实战:从分支规范到 DevOps 全流程落地
  • ChanlunX缠论插件:让技术分析变得简单直观的智能助手
  • 【学习记录】第六周
  • 全网最全 Cursor 配置指南:从入门到高效工作流!建议收藏
  • 日拱一卒之最小二乘法
  • 实用指南:在Linux系统上使用nmcli命令配置各种网络(有线、无线、vlan、vxlan、路由、网桥等)