我正在使用同一个窗口(它是游戏)中同时具有控件和模型的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形状时,这只是一个问题。我曾尝试在Sphere
上设置mouseTransparent
并清除pickOnBounds
,但似乎都不起作用。
如何让控件在点击时继续接收鼠标事件?模型不接受它们是可以接受的。