如何实例化scala.swing.event.MousePressed?

时间:2011-08-03 21:37:44

标签: swing scala

如何实例化scala.swing.event.MousePressed?我尝试了以下但它抱怨构造函数。 MousePressed的声明说明了一个关于Component peer的事情......但我不确定如何包含它。

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 with alternatives:(e:java.awt.event.MouseEvent)scala.swing.event.MousePressed(source: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,Boolean)

2 个答案:

答案 0 :(得分: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))
}

答案 1 :(得分:1)

val test = 
  new MousePressed(new java.awt.event.MouseEvent(c.peer, 0, 0, 0, 0, 0, 0, false))

我们需要在MousePressed之前使用new,因为我们正在使用case类的辅助构造函数(尽管为什么这是必要的从未解释过。)