java - 在java中处理KeyEvents

标签 java keylistener

假设我有一个 GUI,我希望程序在按下空格键时实际运行,但如果再次按下空格键,那么我希望程序退出。像这样的东西会起作用吗?

public class MouseClicker extends JApplet implements KeyListener{
int counter = 0;
MouseClicker m1 = new MouseClicker();

//all of the other methods

public void keyPressed( KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode==KeyEvent.VK_SPACE){
 m1.click();
 counter ++;
 if(counter%2==0)
  System.exit(0);
}
//other methods needed for KeyListener
}

最佳答案

尝试看看;-)

说真的,你想让程序在按下空格键时运行是什么意思?除非程序已经在运行,否则您将如何接收KeyEvent

至于问题的另一半,一般来说,您的代码应该使 Java 在按下空格键时退出。请注意,使用计数器是没有意义的,因为一旦 Java 退出,计数器的值就会丢失。另请注意,JApplet 是“一般情况”的一个异常(exception)...您通常无法从小程序中调用 System.exit,因为小程序在控件下运行浏览器和 Java 仅应在用户关闭浏览器时退出,而不是在小程序完成时退出。可能有其他小程序在同一个 JVM 中运行,并且它们可能尚未完成它们正在做的事情。

关于java - 在java中处理KeyEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/684526/

相关文章:

java - KeyListener 事件的短暂延迟

java - Java 写入多个文件而不重复代码

java - 在 Java 中使用 native 代码的优点和缺点?

java - JLabel 的 KeyListener 不适合我

java - 如何在 Android 自动化 Activity 中触发 Java KeyEvent?

java - 将 KeyListener 添加到自定义对象

java - 创建合并的 jar 文件时出错 - 签名文件条目 javax/mail/internet/ContentDisposition.class 没有最明显的部分

java - 如何在 Java 中将 Firefox 配置文件和 Firefox 选项与 Selenium 一起使用

java - Spring继承-注解

java - 将 JTextField 添加到 JMenuBar 会取消 KeyListener 响应!! - 怎么修?