Scala MouseEvent - 如何知道按下了哪个按钮?

时间:2010-09-13 13:16:30

标签: swing scala scala-2.8

我正在使用scala swing编写scala应用程序。我可以听MouseClicked只要点击鼠标就会收到通知,但我怎么知道按下了哪个按钮。文档非常糟糕,所以我查看了MouseEvent的Java文档,其中说明可以从修饰符字段中检索密钥,因此我尝试输出scala MouseClicked的修饰符字段事件,结果是一个整数,0表示左键单击,鼠标键3和鼠标键4和256表示右键单击。

如果我只需要知道左右点击之间的区别,它看起来会起作用,但是我可以确定修饰符的所有方式都是这样的吗?什么都没有说明,而且据我所知,修饰符可能会被其他东西影响,而不仅仅是按下了哪个鼠标键。我也想知道左键单击鼠标按钮3和鼠标键4之间的区别。我不认为用户希望它们与左键单击一样。

在scala文档中有MouseButtonEvent,这可以用于任何事情吗?文档没有说明它的作用。

1 个答案:

答案 0 :(得分:5)

您始终可以使用x.peer.getButton来获取Java映射(x是您的Scala MouseClicked事件)。 peer几乎总是包含与Scala类等效的Java - 在这种情况下它也是如此。