我试图抓住一个鼠标点击即可Table(这应该会导致弹出窗口显示).桌子位于a ScrollPane里面(反过来)Panel.我已经添加了对所有类的反应,但我似乎永远不会真正得到一个点击事件被捕获!
class MyPanel extends GridBagPanel {
val gbc = new GridBagContraints( ... )
add(new ScrollPane {
reactions += {
case MouseClicked(src, point, mod, clicks, pops) =>
println("Scroll pops: " + pops)
}
viewportView = new Table {
reactions += {
case MouseClicked(src, point, mod, clicks, pops) =>
println("Table pops: " + pops)
}
...
}
}, gbc)
reactions += {
case MouseClicked(src, point, mod, clicks, pops) =>
println("Panel pops: " + pops)
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试一些Scala gui编程(我在Scala中的第一个项目,所以我认为我从简单的开始).但我似乎陷入了一些似乎应该相对微不足道的事情.我有一个扩展scala.swing.MainFrame的类,我想检测用户在该窗口具有焦点时按键的时间.有趣的是,我似乎无法找到任何方式让事件发生.
我找到了一个例子,其他人如何解决这个问题:http://houseofmirrors.googlecode.com/svn/trunk/src/src/main/scala/HouseGui.scala但是他们似乎已经恢复使用Java了Swing API,这有点令人失望.有谁知道是否有更惯用的截取事件的方式?