PropertySheet

PropertySheet is a vertical list of properties that can be edited with a number of pre-build editors. As well as supporting the built-in editors, you can provide custom editors for your specific use cases.

property_sheet.png

BeanItems

BeanItems is the sapphire implementation of Items in ControlsFX PropertySheet.

Usage

lazy val adapter = FXBeanAdapter[Person](this)
val propertySheet = new PropertySheet()
val beanItems = BeanItems()
  • Init BeanItems Bindings in the didGainVisibilityFirstTime LifeCycle of the ViewController
beanItems.addItem("name", "Name", "Basic", "Name")
beanItems.addItem("age", "Age", "Basic", "Age", editable = false)
beanItems.addItem("isActive", "Active", "Extended", "Active")
beanItems.addItem("registered", "Registered", "Extended", "Registered")
  • Update BeanItems Data
def setRandomPerson(): Unit = {
  val person: FXBean[Person] = PersonDatabase.testPerson(random.nextInt(100))
  adapter.set(person)

  beanItems.updateBean(person)
  propertySheet.getItems.setAll(beanItems.getItems)
}