前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javafx框架tornadofx入门26_treeview_增加删除修改

javafx框架tornadofx入门26_treeview_增加删除修改

原创
作者头像
用户6167008
修改2020-04-20 18:12:34
7460
修改2020-04-20 18:12:34
举报
文章被收录于专栏:javafx框架tornadofx

在上一篇的基础上,为treeview添加“增加删除修改”的功能,其中数据类Company,Department,Staff的代码在在上一篇中

代码语言:javascript
复制
import javafx.scene.control.TreeItem
import javafx.scene.control.TreeView
import javafx.scene.layout.Priority
import tornadofx.*

class MainView26 : View("tornadofx入门26_treeview_增加删除修改") {
    val companies = (1..2).map {
        Company("Company$it")
    }
    val obj = objectProperty<Any>()
    lateinit var tv: TreeView<Any>
    init {
        companies.forEach { company ->
            company.departments.setAll((1..2).map {
                Department("${company.name}-Department$it")
            })
            company.departments.forEach { department ->
                department.staffs.setAll((1..3).map {
                    Staff("${department.name}-Staff$it")
                })
            }
        }
    }
    override val root = borderpane {
        center = vbox {
            treeview<Any> {
                tv = this
                root = TreeItem(Company("all"))
                populate { parent ->
                    parent.isExpanded = true
                    val itemValue = parent.value
                    when {
                        parent == root -> companies
                        itemValue is Company -> itemValue.departments
                        itemValue is Department -> itemValue.staffs
                        else -> null
                    }
                }
                bindSelected(obj)
                obj.onChange {
//                    println(it)
                }

代码语言:javascript
复制
                cellFormat {
                    text = when (it) {
                        is Company -> it.name
                        is Department -> it.name
                        is Staff -> it.name
                        else -> null
                    }
                }
                vgrow = Priority.ALWAYS
            }
        }
        setPrefSize(1000.0, 700.0)
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在上一篇的基础上,为treeview添加“增加删除修改”的功能,其中数据类Company,Department,Staff的代码在在上一篇中
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档