我是javafx的新手,我试图创建可编辑的整数列 .
我读过http://docs.oracle.com/javafx/2/api/和http://docs.oracle.com/javafx/2/ui_controls/table-view.htm,但仍然有一个关于使用整数属性的大问题 .
我创建了一个包含IntegerProperty的模型 . IntegerProperty是ObservableValue [Number]的后代 . TableColumn对字段类型是不变的,因此我被迫将此列键入TableColumn [MyModel,Number] . 比我需要创建允许编辑整数单元格的cellFactory . TextFieldTableCell(IntegerStringConverter)应该实现这个目标,但是IntegerStringConverter被输入为StringConverter [Integer]而不是StringConverter [Number],而TextFieldTableCell也是值类型的不变量 .
所以我得到了冲突:
-
IntegerProperty需要Number类型
-
StringConverter提供Integer类型
-
TableColumn是不变的,需要两种类型匹配
TableColumn应该如何使用这些限制?
2 回答
我记得曾经使用javafx.beans.property.adapter.JavaBeanIntegerPropertyBuilder构建一个javafx.beans.property.adapter.JavaBeanIntegerProperty,我必须做类似的事情 .
我建议你使用这个适配器类而不是IntegerProperty . 我现在有点紧张,但我会尽快实现并尽快编辑这个答案 .
我认为在Scala 2.10上使用ScalaFX 1.0.0.M2时遇到了类似的问题 . 我一直在使用:
为了解决这个问题,我将其改为:
另外,和 very important ,我不得不为Scala 2.10升级到ScalaFX 1.0.0.M4 .
我没有让单元格可编辑,所以我会尝试一下,让你知道它是怎么回事 .