KeyEvents的问题

时间:2012-12-03 04:10:38

标签: scala listener scala-swing

我想知道为什么以下代码不起作用:

object Main extends SimpleSwingApplication {

  val dim = new Dimension(500, 110)

  def top = new MainFrame {
    contents = new FlowPanel{
      listenTo(keys, mouse.clicks)
      reactions += {
        case MouseClicked(_,_,_,_,_) => println("Mouse clicked")
        case KeyPressed(_, Key.C, _, _) => println("C pressed")
        case KeyTyped(_, Key.C, _, _) => println("C typed")
        case KeyReleased(_, Key.C, _, _) => println("C released")
      }
    }
    size = dim
  }

}

将识别鼠标点击,但键击不会。我也尝试了不同的键或修饰符,但似乎没有任何效果。我做错了什么?

(在不太可能的情况下,这可能与环境有关:我在Windows 7上使用SBT运行此代码)

1 个答案:

答案 0 :(得分:2)

this answer开始工作,似乎需要包含

focusable = true

代表FlowPanel。它应该可以工作。