0

我正在处理一个项目并使用 tornadoFx。当我需要更改鼠标光标图标以指示后台任务正在运行时。怎么做 ?如果我这样做: cursor = Cursor.WAITING 光标不会改变。

4

1 回答 1

1

您需要在要更改光标的最外层对象上配置光标。在下面的示例中,我确保作为视图根的堆栈窗格的光标发生变化。这意味着当动作运行时,只要您的鼠标指针位于堆栈窗格内的某个位置,光标就会发生变化:

class TaskView : View() {
    override val root: StackPane = stackpane {
        setMinSize(400.0, 400.0)
        button("Do work") {
            action {
                parent.cursor = Cursor.WAIT
                runAsync {
                    Thread.sleep(2000)
                } ui {
                    parent.cursor = Cursor.DEFAULT
                }
            }
        }
    }
}
于 2017-09-01T10:42:56.580 回答