【问题标题】:How can I instantiate scala.swing.event.MousePressed?如何实例化 scala.swing.event.MousePressed?
【发布时间】:2011-08-05 01:10:34
【问题描述】:

如何实例化 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 (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 , 整数, 布尔)

【问题讨论】:

标签: swing scala


【解决方案1】:
val test = 
  new MousePressed(new java.awt.event.MouseEvent(c.peer, 0, 0, 0, 0, 0, 0, false))

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

【讨论】:

    【解决方案2】:

    想通了:

    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))
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-07
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多