У меня есть простое приложение 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 "(с неявным преобразованием)
Есть ли способ, которым я могу сопоставить этот узел с моими квадратами?
Без этого я не вижу, как даже использовать выбор узловс подклассами на всех узлах.