编译器无法识别我对.getPoint的输入

问题描述 投票:0回答:1

我们将创建一个飞机,并在用户每次输入向上箭头键时将其速度提高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();
  }
java keylistener keyevent
1个回答
0
投票

如果未重点关注框架,则不会检测到键盘输入。因此,为了检索任何类型的键盘输入,您必须使用构造函数中的一行,例如setFocusable(true);,将框架设置为可聚焦的。您可能还必须添加一行,例如addKeyListener(new PolygonPanel());,以便完全注册侦听器。

© www.soinside.com 2019 - 2024. All rights reserved.