私はコントロールとモデルを同じウィンドウ(ゲーム)に持つScalaFXアプリケーションで作業しています。残念ながら、モデルを追加すると、コントロールは重なり合わないにもかかわらずマウスイベントの受信を停止します。最小の作業例は次のようになります。Shape3Dも使用しているときにJavaFXコントロールがマウスイベントを受け取っていない
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
})
}
}
}
私はCircle
またはRectangle
のように、2次元形状の球を交換した場合、コントロールは再び応答しなくなります。 3D形状を追加するだけで問題になります。 mouseTransparent
を設定してpickOnBounds
をSphere
にクリアしようとしましたが、いずれもうまくいかないようです。
どうすればコントロールをクリックしたときにマウスイベントを受け取り続けることができますか?モデルがそれらを受信しないことは許容される。