我使用java swing做了一个密码管理系统,并且在登录界面增加了回车事件,但是每次回车时会触发两次。
界面:
回车事件处理代码:
Toolkit toolkit = Toolkit.getDefaultToolkit(); // 注册应用程序全局键盘事件, 所有的键盘事件都会被此事件监听器处理. toolkit.addAWTEventListener( new java.awt.event.AWTEventListener() { public void eventDispatched(AWTEvent event) { if (event.getClass() == KeyEvent.class) { KeyEvent kE = ((KeyEvent) event); // 处理按键事件 Ctrl+Enter if ((kE.getKeyCode() == KeyEvent.VK_ENTER) ) { // window.refreshAction(); System.out.println("enter"); } } } }, java.awt.AWTEvent.KEY_EVENT_MASK);
为什么会执行两次呢?因为按键按下事件包含两个事件:key down,key press
如何只触发一次呢?
增加如下代码:
&&( kE.getID() == KeyEvent.KEY_PRESSED)
完整代码如下:
Toolkit toolkit = Toolkit.getDefaultToolkit(); // 注册应用程序全局键盘事件, 所有的键盘事件都会被此事件监听器处理. toolkit.addAWTEventListener( new java.awt.event.AWTEventListener() { public void eventDispatched(AWTEvent event) { if (event.getClass() == KeyEvent.class) { KeyEvent kE = ((KeyEvent) event); // 处理按键事件 Ctrl+Enter if ((kE.getKeyCode() == KeyEvent.VK_ENTER)&&( kE.getID() == KeyEvent.KEY_PRESSED) ) { // window.refreshAction(); System.out.println("enter"); } } } }, java.awt.AWTEvent.KEY_EVENT_MASK);
相关推荐
在“Java Swing漂亮界面 超酷 JavaSwing教程”中,我们主要会探讨如何利用Swing来设计美观且用户友好的界面。Swing组件的一大优点是它们是轻量级的,这意味着它们完全由Java代码实现,而不是依赖于操作系统提供的...
Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件和工具,用于构建桌面应用程序。在Java Swing中模拟键盘的功能,主要是为了在没有物理键盘的设备上,如触摸屏设备,提供输入文本的方式。例如...
Java Swing 是Java GUI编程库的一部分,它提供了丰富的组件和功能来创建桌面应用程序。在Swing中,有时我们需要为用户提供一种轻量级的提示机制,比如气泡浮动提示窗口,这通常用于显示临时信息或者提示。在给定的...
《迷宫探险游戏(Java Swing)》是一款基于Java Swing开发的桌面应用程序,它提供了一个交互式的迷宫环境,用户可以通过控制角色在迷宫中寻找出路。这篇文章将深入探讨这款游戏中涉及的主要Java Swing技术和编程概念...
例如,玩家的移动和射击操作会被注册到键盘事件监听器中,当特定的键盘按键被按下时,对应的事件方法会被调用,执行相应的游戏逻辑。这展示了Swing如何将用户交互与业务逻辑相连接。 在游戏开发中,绘图是一个重要...
你需要为JFrame或JPanel等组件添加KeyListener,这样当玩家按下按键时,对应的键盘事件会被捕获并处理。事件处理函数会更新箱子的位置,确保游戏逻辑正确执行。 接下来,我们讨论源码和工具。在开发Java Swing应用...
这些方法会在用户按下、释放或敲击键盘时被调用,从而使蛇根据玩家的输入改变方向。 多线程是实现游戏动态性的基础。在贪食蛇游戏中,你需要至少两个线程:一个用于游戏逻辑(包括蛇的移动、食物生成和碰撞检测),...
Java Swing贪吃蛇小游戏是一个利用Java的Swing库开发的经典娱乐项目,旨在帮助开发者加深对Swing组件和事件处理机制的理解。Swing是Java Standard Edition (J2SE)的一部分,提供了一组轻量级的GUI组件,使得在Java中...
Java Swing计算器是一款基于Java Swing库开发的桌面应用程序,它提供了丰富的计算功能,包括基础运算以及高级数学函数。这款计算器不仅支持基本的加减乘除,还具备了平方、求余数、三角函数(如正弦sin、余弦cos、正...
定时器会在指定间隔调用一个回调方法,从而更新游戏状态并重绘屏幕,模拟方块的下落过程。 在游戏得分和等级系统方面,每当消除一行,得分就会增加,并根据消除的行数乘以一定的系数。达到一定的分数后,游戏难度...
例如,`keyPressed()` 方法会在用户按下键时被调用,我们在这里根据按键码判断用户按下的键并执行相应的游戏逻辑,如改变玩家的移动方向。 在"推箱子"游戏中,我们需要维护一个二维数组来表示游戏地图,数组的每个...
Java Swing 是Java GUI(图形用户界面)库的一部分,主要用于创建桌面应用程序。在这个特定的项目中,"Java计算器 Java计算器 swing组件"是一个使用Swing构建的简单但功能齐全的计算器应用。Swing提供了一系列的组件...
本文将深入探讨一个使用Java Swing构建的“贪吃蛇”游戏,这不仅适用于毕业设计或课程设计,也是提升Java后端开发能力的绝佳练习。 首先,我们要理解Java Swing是什么。Java Swing是Java Foundation Classes(JFC)...
本项目"java swing 计算器"是一个基于Swing实现的计算器程序,它具备基本的计算功能,并且支持加括号的表达式以及连续输入,能够在用户完成输入后一次性给出计算结果。 首先,Swing组件是Java中的轻量级组件,与AWT...
在Java编程领域,Swing是一个用于构建图形用户界面(GUI)的库,它提供了丰富的组件和工具,使得开发者可以创建出美观且功能强大的桌面应用。本项目“贪吃蛇游戏”正是利用Java Swing库实现的一个经典小游戏。贪吃蛇...
Swing计算器是一款基于Java Swing库开发的简单计算工具。Swing是Java的一种图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,主要用于构建桌面应用程序。本项目的核心在于利用Swing组件来...
在Java编程语言中,AWT(Abstract Window Toolkit)和Swing是两个用于创建图形用户界面(GUI)的库。这两个库都是Java Foundation Classes (JFC) 的一部分,提供了丰富的组件和功能来帮助开发者构建桌面应用。在这个...
在2048游戏中,我们需要监听键盘事件,根据用户按下上、下、左、右键来执行对应的操作。同时,也可以添加一个“重置”按钮,监听其点击事件,调用重置游戏的方法。 六、游戏状态管理 在游戏过程中,我们需要记录...
"Java简单的游戏人物移动"这个项目是一个基础的Swing应用,它展示了如何实现一个简单的小游戏,让游戏人物自动移动。尽管它可能没有包含键盘监听事件来控制人物移动,但是通过预设的逻辑,人物会自动进行移动,这为...
为了响应用户的点击事件,我们需要为每个按键添加`ActionListener`,这样当用户按下键盘时,相应的音乐声音就能播放出来。此外,可能还会使用`JTable`或`JScrollPane`来展示音符或者设置。 在音频处理方面,Java ...