我正在使用scala swing编写scala应用程序。我可以听MouseClicked
只要点击鼠标就会收到通知,但我怎么知道按下了哪个按钮。文档非常糟糕,所以我查看了MouseEvent
的Java文档,其中说明可以从修饰符字段中检索密钥,因此我尝试输出scala MouseClicked
的修饰符字段事件,结果是一个整数,0表示左键单击,鼠标键3和鼠标键4和256表示右键单击。
如果我只需要知道左右点击之间的区别,它看起来会起作用,但是我可以确定修饰符的所有方式都是这样的吗?什么都没有说明,而且据我所知,修饰符可能会被其他东西影响,而不仅仅是按下了哪个鼠标键。我也想知道左键单击鼠标按钮3和鼠标键4之间的区别。我不认为用户希望它们与左键单击一样。
在scala文档中有MouseButtonEvent
,这可以用于任何事情吗?文档没有说明它的作用。
答案 0 :(得分:5)
您始终可以使用x.peer.getButton
来获取Java映射(x
是您的Scala MouseClicked
事件)。 peer
几乎总是包含与Scala类等效的Java - 在这种情况下它也是如此。