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

龙岗商城网站建设哪家便宜抖音代运营公司有哪些

龙岗商城网站建设哪家便宜,抖音代运营公司有哪些,价格网官网,做网站怎么设置会员本文分享Java的一个有趣小项目,实现用键盘控制小球的移动 涉及java知识点:Swing GUI框架,绘图机制,事件处理,焦点控制 1.编写窗口和面板 (1.)定义面板类 Panel 继承自Java 自带类JPanel (2.)定义窗口类 window 继承…

本文分享Java的一个有趣小项目,实现用键盘控制小球的移动

涉及java知识点:Swing GUI框架,绘图机制,事件处理,焦点控制

1.编写窗口和面板

(1.)定义面板类 Panel 继承自Java 自带类JPanel

 (2.)定义窗口类 window 继承自Java 自带类JFrame

各行代码解释如下图

2.放进小球

(1)

(2.)alt + insert ,重写paint()方法,用来绘图

(3.)绘制小球组件

使用setColor方法设置颜色

使用fillOval()方法绘制了一个小球,注意小球的坐标点是它的外接矩形的左上角坐标

如下图这个意思

(4.)试运行

这时在主类的主方法里 创建一个窗口的对象就可以试运行了,看看小球出现没

成功~!

3.实现小球移动

我们已经实现了一个窗口,窗口里有面板,面板里放了一个粉色小球,接下来我们让它动起来~!

这里就涉及到了Java的事件监听。

(1.)让面板类Panel 实现键盘监听接口KeyListener 

这时会爆红,不怕,把鼠标放到红线上,在弹出的卡片中点击 实现方法

选择这三个方法,点击确定,

实现重写接口的三个抽象方法,如下

(2.)解释一下这三个方法

这三个方法是 Java 中 KeyListener 接口的回调方法,用于处理键盘事件。它们的触发条件和区别如下:

1. keyTyped(KeyEvent e)

触发条件

  • 当用户按下并释放一个能产生 Unicode 字符的键时触发

  • 只对能产生可见字符的按键有效(字母、数字、符号等)

  • 不响应功能键(如 F1-F12、Ctrl、Shift、Alt、方向键等)

特点

  • 报告的是"已键入的字符"而非物理按键

  • 会受到键盘修饰键(如 Shift)的影响(Shift+a 会报告 'A')

  • 在 keyPressed 之后、keyReleased 之前触发

2. keyPressed(KeyEvent e)

触发条件

  • 当键盘上任意键被按下时立即触发

  • 响应所有按键(包括功能键和控制键)

  • 如果按住按键不放,会重复触发(取决于系统设置)

特点

  • 报告的是物理按键的按下动作

  • 可以检测组合键(如 Ctrl+C)

  • 使用 e.getKeyCode() 获取按键代码(如 KeyEvent.VK_A

3. keyReleased(KeyEvent e)

触发条件

  • 当键盘上任意被按下的键释放时触发

  • 响应所有按键(包括功能键和控制键)

  • 每个按键按下都会对应一个释放事件

特点

  • 总会在对应的 keyPressed 之后触发

  • 适合检测按键释放的动作

  • 同样可以检测组合键

三句话概括

(3.)添加监听器

如图,给实现了键盘监听接口KeyListener  的面板类 添加无参构造函数,

setFocusable(true);  // 关键!让面板可以获取焦点
addKeyListener(this); // 直接在面板上添加监听器

(4.)小球移动逻辑

对于刚刚介绍的三个方法,我们既然想用键盘控制移动,那么就应该选择第二个,按下时触发的方法。

e.getKeyCode()  得到所按下键对应的代码

上下左右箭头键分别对应

KeyEvent.VK_UP

按下上箭头,我们让小球y坐标-10,也就是向上移动10个像素

KeyEvent.VK_DOWN

按下下箭头,我们让小球y坐标+10,也就是向下移动10个像素

KeyEvent.VK_LEFT

按下左箭头,我们让小球x坐标-10,也就是向左移动10个像素

KeyEvent.VK_RIGHT

按下右箭头,我们让小球x坐标+10,也就是向右移动10个像素

(5.)刷新面板

坐标变化后,我们刷新面板,这样就实现了移动

调用repaint() 方法

(6)运行演示

键盘控制小球移动演示视频

4.项目代码

package com.xiaoban.CSDn;import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;/*@author xiaoban@version 1.0*/
public class BallMove {public static void main(String[] args) {window window = new window();}}
//窗口类
class window extends JFrame {Panel panel;public window() {panel = new Panel();//初始化面板this.add(panel);//把面板放进窗口setSize(600, 600);//设置窗口大小setVisible(true);//设置窗口为可见setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置点击窗口关闭键退出程序}
}//面板类
class Panel extends JPanel implements KeyListener {public Panel() {setFocusable(true);  // 关键!让面板可以获取焦点addKeyListener(this); // 直接在面板上添加监听器}//把小球坐标设为变量,初始化小球坐标int x = 10;int y = 10;@Overridepublic void paint(Graphics g) {super.paint(g);//绘制小球g.setColor(Color.PINK);//设置颜色为粉色g.fillOval(x, y, 20, 20);//小球坐标为xy,长宽为20(个像素)}//当有字符输出时会触发@Overridepublic void keyTyped(KeyEvent e) {}//当某个键按下时,该方法触发@Overridepublic void keyPressed(KeyEvent e) {//根据用户按下不同的键(上下左右箭头),来移动小球switch (e.getKeyCode()) {case KeyEvent.VK_UP:y -= 10;break;case KeyEvent.VK_DOWN:y += 10;break;case KeyEvent.VK_LEFT:x -= 10;break;case KeyEvent.VK_RIGHT:x += 10;break;}//刷新(重绘)面板this.repaint();}//当某个键释放(松开)时,该方法触发@Overridepublic void keyReleased(KeyEvent e) {}
}

---------------------结束------------------

求点赞~!

求评论·~~~!

求收藏~~~~~!


文章转载自:

http://Qimf7Frg.fLzqq.cn
http://QuuraL3Y.fLzqq.cn
http://sMJ7jXV9.fLzqq.cn
http://SOxUdZwF.fLzqq.cn
http://Om8KZn22.fLzqq.cn
http://dSNuvboS.fLzqq.cn
http://W1jgwiWp.fLzqq.cn
http://7bQr7vww.fLzqq.cn
http://wxJ4etX4.fLzqq.cn
http://vsYUURYk.fLzqq.cn
http://yI5bGYFO.fLzqq.cn
http://llilIwdf.fLzqq.cn
http://MkCXAmDX.fLzqq.cn
http://ggfLctqB.fLzqq.cn
http://O0Ow33A9.fLzqq.cn
http://VqLpu5bc.fLzqq.cn
http://HauptcQm.fLzqq.cn
http://ajL2MXES.fLzqq.cn
http://Vt1GuUs3.fLzqq.cn
http://ghKAU7Dt.fLzqq.cn
http://Gk5B0YaG.fLzqq.cn
http://DpWnPYrY.fLzqq.cn
http://HDHrPqWH.fLzqq.cn
http://bC45Byzr.fLzqq.cn
http://9afKsS9W.fLzqq.cn
http://mO0A0XAT.fLzqq.cn
http://BECE4VxJ.fLzqq.cn
http://mGGZRCOl.fLzqq.cn
http://ugLJmyUQ.fLzqq.cn
http://6kFOhEr9.fLzqq.cn
http://www.dtcms.com/wzjs/629101.html

相关文章:

  • 微软雅黑做网站会涉及到侵权吗外国人做汉字网站
  • 做网站安卓客户端上海市各区建设局网站
  • h5网站开发用什么软件制作无锡市建设银行总行网站
  • 中山商城网站建设修改wordpress站点标题
  • 永久免费网站申请注册基于django的电子商务网站开发
  • 已经有了域名和服务器怎么做网站凡科注册的网站怎么被百度收录
  • 门户网站cms高质量视频素材网站
  • 网站开发实习公众号开发所需技术
  • 凡科免费做网站网站分页导航
  • 东莞易进网络专业网站建设 网站网站所有分类中 点击箭头不出现下拉菜单
  • 企业为什么建站外贸推广方式有哪些
  • 彩票网站怎么做代理景区网络推广方案
  • 设计感十足的网站网站推广的岗位要求
  • 排名好的网站建设企业新手自建网站做跨境电商
  • 广州开发区建设局网站网站怎么做搜索
  • 西安专业做淘宝网站的公司深圳建筑设计找工作哪个招聘网站
  • linux系统怎么做网站南宁伯才网络
  • 京东网站建设及特点wordpress空间服务器
  • 巴中免费网站建设绿色主题 wordpress
  • 国外网站翻墙怎么做网站管理包括哪些内容
  • 关于做网站的总结seo教程技术资源
  • 宣传型网站有哪些上海注册公司没有地址怎么办
  • 阿q的项目wordpress宁波seo快速优化教程
  • 毕业设计医院网站设计怎么做学网站开发工作好找吗
  • 网站建设全包需要多少钱做网站都需要买什么问题
  • PHP网站建设项目经验wordpress lumen
  • 中铁中基建设集团网站小程序卖货怎么样
  • 网站建设方案应该怎么做龙岩今天刚刚最新新闻事件
  • 网站分为的风格个人域名怎么备案
  • 网站开发的调研内容国际购物平台都有哪些