Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swing Scala MouseeEvent-如何知道按下了哪个按钮?_Swing_Scala_Scala 2.8 - Fatal编程技术网

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

Swing Scala MouseeEvent-如何知道按下了哪个按钮?,swing,scala,scala-2.8,Swing,Scala,Scala 2.8,我正在使用scala swing编写scala应用程序。我可以监听MouseClicked以在单击鼠标时获得通知,但我如何知道按下了哪个按钮。文档非常糟糕,所以我在Java文档中查找了MouseEvent,它说可以从modifiers字段检索键,所以我尝试输出scalaMouseClicked事件的modifiers字段,结果是一个整数,0表示左键单击,鼠标按钮3、鼠标按钮4和256用于右键单击 如果我只需要知道左键和右键单击之间的区别,它看起来会起作用,但是我能确定所有的修改器都是这样工作的吗

我正在使用scala swing编写scala应用程序。我可以监听
MouseClicked
以在单击鼠标时获得通知,但我如何知道按下了哪个按钮。文档非常糟糕,所以我在Java文档中查找了
MouseEvent
,它说可以从modifiers字段检索键,所以我尝试输出scala
MouseClicked
事件的modifiers字段,结果是一个整数,0表示左键单击,鼠标按钮3、鼠标按钮4和256用于右键单击

如果我只需要知道左键和右键单击之间的区别,它看起来会起作用,但是我能确定所有的修改器都是这样工作的吗?文档中什么也没说,据我所知,修改器可能会受到其他因素的影响,而不仅仅是按下了哪个鼠标按钮。我还想知道鼠标左键和鼠标按钮3和4之间的区别。我不认为用户期望他们做与左键单击相同的事情


scala文档中有一个
MouseButtonEvent
,它可以用于任何用途吗?文档中没有说明它的功能。

您可以始终使用
x.peer.getButton
获取Java映射(其中
x
是您的Scala
鼠标点击事件)
peer
几乎总是包含一个相当于Scala类的Java——在本例中就是这样。

Eclipse和Scala插件不会编译,当我的代码中有这样的内容时:e.peer.BUTTON1根据我所读的内容,我应该能够访问Scala代码中的静态字段。我是做错了什么,还是应该使用另一个IDE?您必须通过类而不是实例来访问它们:
if(e.peer.getButton==java.awt.event.MouseEvent.BUTTON1)
,例如。谢谢。。。我完全忘记了这一点。