拖动一个ScalaFX窗口并同时打开另一个窗口时,计算机无响应

时间:2015-09-06 03:31:54

标签: scalafx

我正在使用多个窗口处理ScalaFX应用程序。但是,如果我在另一个窗口处于打开状态时拖动一个ScalaFX窗口,则整个桌面将无法响应。发生这种情况时,大多数应用程序根本不响应鼠标事件,并且无法关闭任一ScalaFX窗口。我发现恢复响应能力的唯一方法是通过任务管理器终止Java进程,任务管理器本身只能在发出ctrl-alt-del之后打开。

这是一个可以触发问题的简单脚本。它加载一个窗口,等待3秒,然后打开第二个窗口。但是,如果在第二个窗口打开的同时拖动第一个窗口,则会触发该问题。

import javafx.embed.swing.JFXPanel
import scalafx.application.Platform
import scalafx.scene.Scene
import scalafx.scene.control.Label
import scalafx.stage.Stage

new JFXPanel

Platform.runLater {
  val stage = new Stage {
    title = "Stage 1"
    width = 300
    height = 200

    scene = new Scene {
      root = new Label("Stage 1")
    }
  }

  stage.showAndWait()
}

Thread sleep 3000

Platform.runLater {
  val stage = new Stage {
    title = "Stage 2"
    width = 300
    height = 200

    scene = new Scene {
      root = new Label("Stage 2")
    }
  }

  stage.showAndWait()
}

我在Windows 10计算机上使用Java 8 update 60和Scalafx 8.0.40-R8。

关于为什么会发生这种情况或如何解决问题的想法?

0 个答案:

没有答案