scala - 如何在 Scala 中识别鼠标点击?

标签 scala double-click

我正在编写一个小型 GUI 程序。除了我想识别鼠标双击之外,一切正常。但是,我根本无法识别鼠标单击(本身),尽管我可以单击按钮并从列表中选择代码。

以下代码改编自 Ingo Maier 的“The scala.swing package”:

import scala.swing._
import scala.swing.event._

object MouseTest extends SimpleGUIApplication {
  def top = new MainFrame {
    listenTo(this.mouse) // value mouse is not a member of scala.swing.MainFrame
    reactions += {
      case e: MouseClicked =>
        println("Mouse clicked at " + e.point)
    }
  }
}

我尝试了多种变体:鼠标与鼠标、SimpleSwingApplication、从 java.awt.event 导入 MouseEvent 等。错误消息很清楚——MainFrame 中没有鼠标值——那么,它在哪里?救命!

最佳答案

也许是这样?

object App extends SimpleSwingApplication {
  lazy val ui = new Panel {
    listenTo(mouse.clicks)
    reactions += {
      case e: MouseClicked =>
        println("Mouse clicked at " + e.point)
    }
  }
  def top = new MainFrame {
    contents = ui
  }
}

顺便说一句,SimpleGUIApplication 已弃用

关于scala - 如何在 Scala 中识别鼠标点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877117/

相关文章:

python - 为什么我必须双击才能更改按钮对象的浮雕效果? (tkinter)

events - 在 CellTable 单元格中添加双击事件 - GWT

scala - Scala 中的 LRUCache?

Scala:使用伴随对象的父对象的 protected 方法

java - 如何在 Scala 中将一个或多个文件从一个文件夹移动到另一个文件夹

scala - 为什么 SBT 库依赖项 %% 会截断 scalaVersion?

scala - 使用 Numeric[A] 类型的隐式参数似乎被忽略

css - 如何禁用双击时的文本选择,但不禁用?

java - 检测多次双击/重置 MouseEvent?

java - 双击时,jtable 数据将替换为之前的结果