/ / scala.swing.event.MousePressedをインスタンス化するにはどうすればよいですか? -スイング、スカラ

scala.swing.event.MousePressedをどのようにインスタンス化できますか? - スイング、スカラ

scala.swing.eventをインスタンス化するにはどうすればよいですか。MousePressed?以下を試してみましたが、コンストラクターに文句があります。 MousePressedの宣言は、コンポーネントピアについて何かを述べています...しかし、それを含める方法がわかりません。

import scala.swing.event.MousePressed
import java.awt.Point

object TypeIssue {
val c = new Label()
val test = new MousePressed(c, new Point(0,0), 0, 0, 1, false)
}

エラーは次のとおりです。 オーバーロードされたメソッドコンストラクターMousePressedと代替:(e:java.awt.event.MouseEvent)scala.swing.event.MousePressed(ソース:scala.swing.Component、point:java.awt.Point、modifiers:scala.swing.event。 Key.Modifiers、clicks:Int、triggersPopup:Boolean)(peer:java.awt.event.MouseEvent)scala.swing.event.MousePressedは(scala.swing.Label、java.awt.Point、Int、Int 、Int、ブール値)

回答:

回答№1は1
val test =
new MousePressed(new java.awt.event.MouseEvent(c.peer, 0, 0, 0, 0, 0, 0, false))

必要です new 「ケースクラス」の補助コンストラクターを使用しているため、MousePressedの前に(これが必要な理由は説明されていませんが)。


回答№2の場合は1

理解した:

import scala.swing.event.MousePressed
import java.awt.Point
import scala.swing.Label

object TypeIssue {
val c = new Label()
val test = MousePressed(c, new Point(0,0), 0, 0, false)(new java.awt.event.MouseEvent(c.peer, 0, 0, 0, 0, 0, 0, false))
}