Я работаю над приложением ScalaFX, которое имеет как элементы управления, так и модели в одном окне (это игра). К сожалению, когда я добавляю модели, элементы управления перестают принимать события мыши, даже если они не перекрываются. Наименьший рабочий пример выглядит следующим образом:Ядро JavaFX не принимает события мыши, когда также использует Shape3D
import scalafx.Includes._
import scalafx.application.JFXApp
import scalafx.application.JFXApp.PrimaryStage
import scalafx.scene._
import scalafx.scene.control._
import scalafx.scene.input.MouseEvent
import scalafx.scene.layout._
import scalafx.scene.shape._
object GameWindow extends JFXApp {
stage = new PrimaryStage {
scene = new Scene(800, 600, true, SceneAntialiasing.Balanced) {
root = new VBox(
new Button("Click me!") {
handleEvent(MouseEvent.MouseClicked) {
me: MouseEvent => Console println "clicked!"
}
},
new Sphere() {
radius = 100
})
}
}
}
Если я заменяю сферу с 2D форме, как Circle
или Rectangle
элементы управления становятся отзывчивым снова; это только проблема, когда я добавляю 3D-фигуры. Я попытался установить mouseTransparent
и очистить pickOnBounds
на Sphere
, но ни один из них не работает.
Как я могу позволить элементам управления продолжать получать события мыши при их нажатии? Для моделей приемлемо не принимать их.