Scala JavaFx--无法解析重载的方法';添加';尝试添加树表列时
我正在尝试使用JavaFX和Scala(而不是ScalaFX)编写一个应用程序。当我从(将TreeTableColumn添加到TreeTableView)中尝试此示例时,在最后两行中得到了“无法解析重载方法'Add'”。我想知道你能否帮我解决这个问题Scala JavaFx--无法解析重载的方法';添加';尝试添加树表列时,scala,Scala,我正在尝试使用JavaFX和Scala(而不是ScalaFX)编写一个应用程序。当我从(将TreeTableColumn添加到TreeTableView)中尝试此示例时,在最后两行中得到了“无法解析重载方法'Add'”。我想知道你能否帮我解决这个问题 class Phase1扩展了应用程序{ 导入javafx.scene.control.TreeTableColumn 导入javafx.scene.control.TreeTableView 导入javafx.scene.control.cell
class Phase1扩展了应用程序{
导入javafx.scene.control.TreeTableColumn
导入javafx.scene.control.TreeTableView
导入javafx.scene.control.cell.TreeItemPropertyValueFactory
覆盖def启动(主阶段:阶段):单位={
setTitle(“实验阻塞树”)
val场景=新场景(新组(),1500800)
val sceneRoot=scene.getRoot.asInstanceOf[Group]
val treeTableView=新的treeTableView[Car]
val treeTableColumn1:TreeTableColumn[Car,String]=新的TreeTableColumn[Car,String](“品牌”)
val treeTableColumn2:TreeTableColumn[Car,String]=新的TreeTableColumn[Car,String](“Model”)
treeTableColumn1.setCellValueFactory(新的TreeItemPropertyValueFactory[汽车,字符串](“品牌”))
treeTableColumn2.setCellValueFactory(新的TreeItemPropertyValueFactory[Car,String](“model”))
treeTableView.getColumns.add(treeTableColumn1)//无法在此处解析重载方法
treeTableView.getColumns.add(treeTableColumn2)//此处
}
}
提前谢谢 我在
TreeTableView
中显示数据时遇到了同样的问题Jarek在这里发布了一个解决方案:
这也适用于我:
import scalafx.beans.property.ReadOnlyStringProperty
case class Car (
val brand: ReadOnlyStringProperty,
val model: ReadOnlyStringProperty
)
class CarStringFactory(val stringValue: ReadOnlyStringProperty) extends scalafx.beans.value.ObservableValue[String, String] {
override def delegate: javafx.beans.value.ObservableValue[String] = stringValue
override def value: String = stringValue.get
}
class YourScalaFXApp {
// ... boilerplate code ...
import scalafx.scene.control.{TreeTableView, TreeTableColumn}
val treeTableView = new TreeTableView[Car]
val treeTableColumn1: TreeTableColumn[Car, String] = new TreeTableColumn[Car, String]("Brand"){
cellValueFactory = {p => new CarStringFactory(p.value.value.value.brand) }
}
val treeTableColumn2: TreeTableColumn[Car, String] = new TreeTableColumn[Car, String]("Model"){
cellValueFactory = {p => new CarStringFactory(p.value.value.value.model) }
}
treeTableView.getColumns.add(treeTableColumn1)
treeTableView.getColumns.add(treeTableColumn2)
}
指
- ScalaFX文档:
add
消息“无法解析重载方法'add'”,但这是IntelliJ的问题,而不是代码。