Я новичок в ScalaFX. Я пытаюсь адаптировать базовый пример TableView, чтобы включить столбцы Integer.Целочисленные столбцы в ScalaFX TableView
До сих пор я придумал следующий код:
class Person(firstName_ : String, age_ : Int) {
val name = new StringProperty(this, "Name", firstName_)
val age = new IntegerProperty(this, "Age", age_)
}
object model{
val dataSource = new ObservableBuffer[Person]()
dataSource += new Person("Moe", 45)
dataSource += new Person("Larry", 43)
dataSource += new Person("Curly", 41)
dataSource += new Person("Shemp", 39)
dataSource += new Person("Joe", 37)
}
object view{
val nameCol = new TableColumn[Person, String]{
text = "Name"
cellValueFactory = {_.value.name}
}
val ageCol = new TableColumn[Person, Int]{
text = "Age"
cellValueFactory = {_.value.age}
}
}
object TestTableView extends JFXApp {
stage = new PrimaryStage {
title = "ScalaFx Test"
width = 800; height = 500
scene = new Scene {
content = new TableView[Person](model.dataSource){
columns += view.nameCol
columns += view.ageCol
}
}
}
}
Проблема заключается в том, что, в то время как nameCol
работает хорошо, ageCol
не даже компиляции.
В строке cellValueFactory = {_.value.age}
, я получаю ошибку несоответствия типа. Ожидается, что ObservableValue[Int,Int]
получит IntegerProperty
.
Я использую ScalaFX 1.0 M2, скомпилированный для Scala 2.10.
Спасибо! Не могли бы вы рассказать немного о том, почему это происходит? – Eduardo