如何在 tornadoFx 中更改鼠标光标图标

How to change Mouse cursor icon in tornadoFx

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

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

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
                }
            }
        }
    }
}