2

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

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 运行此代码)

4

1 回答 1

2

这个答案开始,您似乎需要包含该行

focusable = true

为您的FlowPanel. 然后它应该工作。

于 2012-12-03T05:40:28.930 回答