繁体   English   中英

如何在ScalaFX中使用CheckBoxListCell?

[英]How to use CheckBoxListCell in ScalaFX?

我正在尝试使用scalaFX列出checkBox。 通过一些研究,我发现CheckBoxListCell组件可以解决此问题。 但是我没有发现scalaFX的一个很好的例子(只有javaFX)。 请任何帮助? 谢谢

这是一个完整的ScalaFX示例:

package scalafx.controls

import scala.language.implicitConversions
import scalafx.Includes._
import scalafx.application.JFXApp
import scalafx.application.JFXApp.PrimaryStage
import scalafx.beans.property.BooleanProperty
import scalafx.collections.ObservableBuffer
import scalafx.scene.Scene
import scalafx.scene.control.cell.CheckBoxListCell
import scalafx.scene.control.{Button, ListView}
import scalafx.scene.layout.VBox

object CheckBoxListCellDemo extends JFXApp {

  class Item(initialSelection: Boolean, val name: String) {
    val selected = BooleanProperty(initialSelection)
    override def toString = name
  }

  val data = ObservableBuffer[Item](
    (1 to 10).map { i => new Item(i % 2 == 0, s"Item $i") }
  )

  stage = new PrimaryStage {
    scene = new Scene {
      title = "CheckBoxListCell Demo"
      root = new VBox {
        children = Seq(
          new ListView[Item] {
            prefHeight=250
            items = data
            cellFactory = CheckBoxListCell.forListView(_.selected)
          },
          new Button("Print State ") {
            onAction = handle {
              println("-------------")
              println(data.map(d => d.name + ": " + d.selected()).mkString("\n"))
            }
          }
        )
      }
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM