我正在寫一個小的GUI程序。除了我想要識別鼠標雙擊之外,一切都可行。然而,我根本無法識別鼠標點擊(就像這樣),儘管我可以點擊按鈕並從列表中選擇代碼。如何識別Scala中的鼠標點擊?
下面的代碼是改編自英戈梅爾的 「The scala.swing包」:
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中沒有價值的鼠標 - 那麼,它在哪裏呢?幫幫我!
是的,這有效 - 謝謝! –
是的,那可行 - 謝謝! 總結:'鼠標'在組件中定義。面板是一種組件,因此可以在面板中識別鼠標點擊。 MainFrame不是Component的子類(也不是Frame),因此無法直接在MainFrame中識別鼠標點擊;它必須包含一個Panel。 我仍然不清楚爲什麼「MouseClicked('myListView')」的情況是非法的,因爲一個ListView是一個組件,但我可能會雙擊一個ListView元素現在可以工作。 –