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 に答える