2015-05-04 4 views
0

Я пытаюсь составить список checkbox с scalaFX. С некоторыми исследованиями я нашел компонент CheckBoxListCell для решения этой проблемы. Но я не нашел хороший пример с scalaFX (есть только с javaFX). Пожалуйста, помогите? ThanxКак использовать CheckBoxListCell в ScalaFX?

ответ

0

Вот полный пример 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")) 
      } 
      } 
     ) 
     } 
    } 
    } 
} 
+0

я попробовал этот код, но у меня есть ошибка «переназначение Вала», возможно, это вызвано вали именем! – Achref

+0

'val' означает постоянное значение в Scala. «Переназначение в значение val» означает попытку присвоить константу. Я дважды проверял код, он компилируется и работает нормально. Вы изменили его? Каково точное сообщение об ошибке и какая строка в коде, на который он указывает? Какую версию ScalaFX вы используете? – Jarek

+0

thanx jarek.i исправил проблему. это была версия scalafx. теперь мне нужен тот же пример, но с checkBoxTableCell. это означает, что я хочу добавить флажок в столбец в таблице. – Achref