gpt4 book ai didi

javafx - 标签的格式文本

转载 作者:行者123 更新时间:2023-12-02 12:16:25 25 4
gpt4 key购买 nike

我在一个由整数属性控制的 View 中有一个标签,当值为负时它显示一个负号,当该值为正时它不显示。但是,我希望标签显示“+5”、“-3”...

以下面的代码为例

import javafx.beans.property.SimpleIntegerProperty
import tornadofx.*

class MyView : View() {

val negProp = SimpleIntegerProperty(-3) // this prop is in a ItemViewModel
val posProp = SimpleIntegerProperty(+4) // this prop is in a ItemViewModel

override val root = hbox {
label(negProp) // shows - 3
label(posProp) // shows 4
}
}

有没有一种方法可以在属性更改后格式化文本?谢谢。

最佳答案

您可以创建一个字符串绑定(bind),其中包含您要在标签中显示的值,然后将标签的值属性绑定(bind)到该值:

val prop = SimpleIntegerProperty(1)
val propDesc = prop.stringBinding { "%+d".format(it) }

现在您可以:

label(propDesc)

只要属性值发生变化,标签就会更新。

当然你也可以内联它:

label(prop.stringBinding { "%+d".format(it) })

关于javafx - 标签的格式文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55141548/

25 4 0