如何将 ColorPicker 值属性绑定到 ScalaFX 中的 ScalaFX ObjectProperty?
Posted
技术标签:
【中文标题】如何将 ColorPicker 值属性绑定到 ScalaFX 中的 ScalaFX ObjectProperty?【英文标题】:How do you bind the ColorPicker value property to a ScalaFX ObjectProperty in ScalaFX? 【发布时间】:2018-11-26 15:37:46 【问题描述】:我似乎无法理解将 ColorPicker 值属性绑定到 ScalaFX 中的 ObjectProperty 的正确方法。这是我到目前为止所做的:
private val colorProp = new ObjectProperty[Color](this, "test", Color.White)
// Create color picker
val cp: ColorPicker = new ColorPicker(Color.White)
prefWidth = Prop.pickerWidth
colorProp <==> cp.value
但是,我在此处收到此类型错误:
[error] (v: javafx.beans.property.Property[scalafx.scene.paint.Color])Unit <and>
[error] (v: scalafx.beans.property.Property[scalafx.scene.paint.Color,scalafx.scene.paint.Color])Unit
[error] cannot be applied to (scalafx.beans.property.ObjectProperty[javafx.scene.paint.Color])
[error] colorProp <==> cp.value
我已经能够使 StringProperty 之类的东西正常工作,但是一旦我尝试使用 ObjectProperty,就会出现这个问题。任何帮助都会很棒!
【问题讨论】:
【参考方案1】:结果证明我需要使用 JavaFX 颜色而不是 ScalaFX 颜色。这对我来说仍然很奇怪,但它有效!不过,任何进一步的解释都会很棒。
private val colorProp = new ObjectProperty[javafx.scene.paint.Color](this, "test", Color.White)
【讨论】:
为了在 ScalaFX 包装器和 JavaFX 类实例之间进行隐式转换,您需要在每个源文件的顶部有import scalafx.Includes._
。
我实际上已经导入了这个;但是,通过绑定 ObjectProperty 对象,编译器似乎相当挑剔......以上是关于如何将 ColorPicker 值属性绑定到 ScalaFX 中的 ScalaFX ObjectProperty?的主要内容,如果未能解决你的问题,请参考以下文章
Jquery:如何根据属性值将按键事件绑定到输入类型“数字”[重复]