java - 编译器无法识别我对 .getPoint 的输入
问题描述
我们要创建一个飞机,每次用户输入向上箭头键时速度会增加 5mph,按下向下键时速度会降低 9mph。假设无论何时完成任何操作,它都会在输出框中将此报告给用户。如何设置它以便按键监听器告诉用户他们已经按下了向上键?我还在做这个,如果它很乱,很抱歉。
private class PolygonPanel implements MouseListener, MouseMotionListener, KeyListener
{
public void mousePressed(MouseEvent event){} //unused event
public void mouseDragged(MouseEvent event){} //unused event
public void keyReleased(KeyEvent event){}
public void keyTyped(KeyEvent event){}
//public void keyPressed(KeyEvent event){}
public void keyPressed(KeyEvent event) {
Integer planespeed=event.getKeyCode();
if (event.getKeyCode() == KeyEvent.VK_RIGHT)
{
//Not gonna use this.
}
if (event.getKeyCode() == 39)//KeyEvent.VK_LEFT
{
System.out.print("This key is up");
}
if (event.getKeyCode() == KeyEvent.VK_UP)
{
System.out.print("This key has been pressed");
//speed=planespeed+5;
}
if (event.getKeyCode() == KeyEvent.VK_DOWN)
{
//speed=planespeed-9;
}
repaint();
}
解决方案
如果框架没有聚焦,则框架不会检测到键盘输入。因此,为了检索任何类型的键盘输入,您必须使用setFocusable(true);
构造函数中的行将框架设置为可聚焦的。您可能还必须添加一行,addKeyListener(new PolygonPanel());
以便完全注册侦听器。
推荐阅读
- .htaccess - .htaccess 使用正则表达式重定向到子域
- roblox - 当应该产生更多时,如何修复只产生 5 个僵尸?
- r - R:使用 Torch 进行优化 - optimizer$step() 抛出此错误
- android - Kotlin android 应用程序未显示通知
- flutter - 如何在颤动中增加 AppBar 领先属性的大小?
- python - 如何在不一遍又一遍地调用 os.chmod 的情况下更改滚动 python 日志文件的权限?
- python - 如何使用 python 子进程同时运行多个 .bat 文件
- reactjs - 如何使用 fetch 功能并在组件上显示 api 响应?自定义获取响应未传递给组件
- ios - swift中对api的Http后台请求
- python - 导入“cv2”无法解决