ScalaFX PickResult с подклассами узлов - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть простое приложение scalafx, но я изо всех сил пытаюсь заставить работать простые взаимодействия с мышью.

У меня есть собственный класс узла Canvas под названием Square:

case class Square(val index: Int) extends Canvas

У меня есть собственный GridPaneзаполненный квадратами:

class BoardPane extends GridPane
{
  val squares: Array[Square] = (0 to 63).toArray.map(index => Square(index))
  (0 to 63).foreach(index => add(squares(index), index%8, 7-index/8))
}

Когда я пытаюсь получить результат выбора из события мыши:

class PlayableBoardPane extends BoardPane
{
  onMouseDragged = (event => {
    val node: Option[Node] = event.pickResult.intersectedNode
  ...
  })
}

Пересеченный узел - это не квадрат, а "scalafx.scene".LowerPriorityВключает $$ anon $ 4 "(с неявным преобразованием)

Есть ли способ, которым я могу сопоставить этот узел с моими квадратами?

Без этого я не вижу, как даже использовать выбор узловс подклассами на всех узлах.

...