0

假设我想在 tornadofx 中使用 appConfig 保存视图的高度和宽度值。无论如何我可以将这些属性绑定到appConfig,这样当我保存配置时,总是会保存最新的高度和宽度值?

4

1 回答 1

3

如果您要做的是保存 Window 的当前宽度/高度并在 View 再次停靠时恢复它,您可以覆盖 onDock 以在那里执行这两项操作:

override fun onDock() {
    if (config["w"] != null && config["h"] != null) {
        currentWindow?.apply {
            width = config.double("w")!!
            height = config.double("h")!!
        }
    }

    currentWindow?.apply {
        Bindings.add(widthProperty(), heightProperty()).onChange {
            with (config) {
                put("w", width.toString())
                put("h", height.toString())
                save()
            }
        }
    }
}
于 2017-09-17T13:55:46.423 回答