当前位置: 首页 > 知识库问答 >
问题:

如何使用KeyListener/KeyAdapter

陆洛城
2023-03-14

一个在设置了Keylistener或Keyadapter类并重写了keyPressed之后,另两个在程序中如何获得键盘响应呢?例如,假设我已经设置了Keyadapter类:

public class KeyInput extends Keyadapter {

public void keyPressed (KeyEvent e) {

    int key = e.getKeyCode();

    if (key == VK_W) {
        System.out.println("You pressed W");

    }

}

我将如何从那里开始,使它能够实际检测到它,并在我按w时显示字符串?没有任何方法,我可以在main方法中调用,使它开始检查,是吗?如果没有,JVM如何知道开始检查main中是否没有方法告诉它?

谢谢你抽出时间。

共有1个答案

姜景焕
2023-03-14

KeyAdapter是一个java awt类。您的KeyInput(keylistener)必须向另一个awt组件注册,才能开始监听键事件。

你要找的一个例子可以在这里找到

JButton button = new JButton("Clear");
button.addActionListener(this);

typingArea = new JTextField(20);
typingArea.addKeyListener(new KeyInput());
 类似资料:
  • 问题内容: 我目前正在尝试在程序中实现一个键侦听器,以便当我按下箭头键时它会执行一个操作,程序中的对象向左或向右移动。 这是我程序中的移动方法 我想知道程序应该如何读入(KeyEvent)e。我真的不能输入箭头键。 请帮忙! 编辑:我还需要知道我需要添加到代码中的内容,以便我的程序在继续使用另一种方法之前要等待大约700毫秒的时间才能进行键输入 问题答案: http://docs.oracle.c

  • 问题内容: 因此,我试图用()移动矩形,并且每当我尝试按下键时,矩形都不会移动。 绘制了矩形,但是每当我按和键时,都不会发生任何事情。我有两个类,一个是我的带有keyEvents和frame的主类,另一个是绘制矩形并保存用于移动矩形的函数。 这是我的代码: 现在是第二堂课: 请告诉我如何移动矩形。提前致谢! 问题答案: 矩形没有移动,因为使用不正确。您必须分配给而不是忽略实例化的对象。 @MadP

  • 我想写一个小游戏,我可以用W,a,S,D键在JavaFX面板上移动一个球 我有一个和但是我不知道如何编写一个,如果我按D,它将计算。 我必须做什么?

  • 问题内容: 我在打乒乓球游戏时遇到了麻烦,这个项目只是从制作具有物理性的球开始,但后来我决定做更多的工作 我有那个球来回弹跳,除了键W和S之外,其他所有键都不控制玩家1,上下箭头键不控制玩家2 它甚至不会显示系统打印消息 我不知道这只是问题的代码的这一部分还是其他地方 如果在其他位置,请访问此文件其余部分的链接 http://pastebin.com/TJbLBxL7 整个代码: 我的新代码这个问

  • 问题内容: 我正在计划在Windows下运行的Java程序的计划制定工作,该程序可以在背景的不同键runnig上映射不同的“宏”。问题是- 如何使Java在应用程序未聚焦时监听按键。 我发现很多观点认为这是不可能的。但是我也发现Stefano在SO上写的这本书。这种解决方案对我来说还不够好,至少没有一个重要的信息。如果没有按下该键,该函数将返回一个值。按键后,它会返回不同的值…如果函数在按键事件后

  • 我在一个KeyListener中为一个非常简单的游戏编程控件。伊芙得到了下面的问题。 我做了类似的事情(只是一个简单的示例,而不是我实现的代码): 如果我同时按下两个键(左,上),你就可以移动charachter对角线。问题是监听器与最后一个按下的KeyEvent一起工作,所以如果我先按左再向上,但没有释放左再向上,对象就不会移动(仍然按左)。 我怎么处理?是否可以在我的keylistener的k