news 2026/7/10 9:54:35

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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) { } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 18:55:14

关于javaSE异常的处理(看这一篇就够了)

目录 一、异常是什么 1.异常的概念 2.异常的分类 二、异常的处理 1.防御式编程 2.(异常的抛出)throw的使用 3.异常的声明-throws 4.捕获异常-try-catch捕获并处理异常 5.finally关键字起到 三、异常的处理流程 四、总结 一、异常是什么 1.异常…

作者头像 李华
网站建设 2026/7/9 21:25:28

使用 deepseek 快速搭建 TDengine IDMP demo

背景 TDengine IDMP 产品的客户多为工控场景。在工控体系中,系统自下而上通常划分为现场设备层、现场控制层、过程监控层、生产管理层以及企业资源层。因此,最初的数据来源于现场设备层,这些数据也是后续所有业务驱动的来源。对于TDengine而…

作者头像 李华
网站建设 2026/7/6 7:11:42

Windows系统文件Windows.Devices.Picker.dll缺少损坏问题 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/7/9 22:31:26

Python property魔法:让属性访问变得智能又安全

一、property基础:从数据封装开始 1.1 为什么需要属性封装? 在面向对象编程中,数据封装是基本原则之一。直接暴露属性可能导致数据不一致和逻辑错误。 # 问题示例:直接访问导致数据不一致 class BankAccount:def __init__(self, b…

作者头像 李华
网站建设 2026/7/8 20:40:27

基于Java Swing的打砖块小游戏(2)

1、演示视频 基于Java Swing的打砖块小游戏2、项目截图 设计说明 3.1 整体架构设计 项目采用分层设计面向对象封装的架构&#xff0c;主要分为以下几个部分&#xff1a; 界面层&#xff08;UI层&#xff09;&#xff1a;由<代码开始>BreakoutGame<代码结束>类中…

作者头像 李华
网站建设 2026/7/9 0:22:53

电科金仓数据库如何支持Oracle风格的PL/SQL操作

引言 在数据库国产化替代的浪潮中,企业面临的最大挑战之一就是如何平滑迁移现有的Oracle应用系统。KingbaseES(简称KES)作为国产数据库的代表产品,通过深度的Oracle兼容性设计,特别是在PL/SQL操作层面的全面支持,为企业提供了一条低成本、低风险的迁移路径。本文将详细介绍Kin…

作者头像 李华