首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >javafx框架tornadofx入门26_treetableview

javafx框架tornadofx入门26_treetableview

原创
作者头像
用户6167008
修改于 2020-04-26 09:44:14
修改于 2020-04-26 09:44:14
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

1.定义商品数据类,包含名称和价格2个字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data class Goods(var name: String, var price: Double = 0.0)

2.构建商品数据map,key为商品分类"水果"、"蔬菜"、"肉类",value为具体的商品列表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
val tableData = mapOf(
    "水果" to arrayOf("苹果", "梨", "香蕉").map { Goods(it, (1..10).random() * 1.0) },
    "蔬菜" to arrayOf("大豆", "花菜", "土豆").map { Goods(it, (1..10).random() * 1.0) },
    "肉类" to arrayOf("牛肉", "猪肉", "羊肉").map { Goods(it, (1..10).random() * 1.0) }
)

3.用treetableview构建UI,每个treeitem包括名称和价格两列:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
treetableview<Goods> {
    column("商品名称", Goods::name){
        minWidth=200.0
    }
    column("价格", Goods::price){
        minWidth=200.0
    }
    root = TreeItem(Goods("商品"))
    populate { parent ->
        parent.isExpanded=true
        if (parent == root) tableData.keys.map {
            Goods(it).apply {
            // 将每个商品分类下的具体商品价格进行求和
                this.price = tableData[this.name]?.sumByDouble { it.price } ?: 0.0
            }
        }
        else tableData[parent.value.name]
    }
    resizeColumnsToFitContent()
    minWidth=500.0
}

4.完整代码:

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
javafx框架tornadofx入门26_treeview_增加删除修改
treeview-add-delete-modify.gif 在上一篇的基础上,为treeview添加“增加删除修改”的功能,其中数据类Company,Department,Staff的代码在在上一篇中 import javafx.scene.control.TreeItem import javafx.scene.control.TreeView import javafx.scene.layout.Priority import tornadofx.* class MainView26 : View
用户6167008
2020/04/20
8100
javafx框架tornadofx入门26_treeview_增加删除修改
Mysql学习之路-网上商城系统升级
(1)新增商品打折功能,管理员可以对每件商品进行折扣设定,会员购买该商品时就可以享受相应的
Daimon
2023/03/26
1.5K0
javafx框架tornadofx入门实战18_pagination
pagination.gif import tornadofx.* class MainView18 : View("pagination") { val persions = (1..10).map { "name${it}" }.asObservable() val tbl=tableview(persions){ column("name",String::class){ value { it.value }
用户6167008
2019/12/26
8270
javafx框架tornadofx入门实战18_pagination
【Django】基于PythonWeb的Django框架设计实现天天生鲜系统-5数据库操作
此时进入 shell, 我们可在 shell 中通过面向对象方式对数据库中的数据进行 CRUD 操作.
天道Vax的时间宝藏
2021/08/11
5680
Vue+Django2.0 REST framework打造前后端分离的生鲜电商项目(三)设计数据库以及导入原始数据
一、项目初始化: 1.安插件 安装django就不必说了,下载安装mysql,还有跟数据库连接的相关包pymysql,做图片处理的包pillow 安装 djangorestframework、markdown、django-filter ( 如果发生安装超时,可以隔几秒再重新执行安装命令,我也按了好几次) pip install djangorestframework pip install markdown # Markdown support for the browsab
玩蛇的胖纸
2018/06/08
1.3K0
Django+Vue开发生鲜电商平台之3.数据模型设计和资源导入
Github和Gitee代码同步更新: https://github.com/corleytd/Django_Fresh_Ecommerce; https://gitee.com/Python_Full_Stack/Django_Fresh_Ecommerce。
cutercorley
2020/07/23
2K0
Django+Vue开发生鲜电商平台之3.数据模型设计和资源导入
Android实现商城购物车功能
最近公司项目做商城模块,需要实现购物车功能,主要实现了单选、全选,金额合计,商品删除,商品数量加减等能,先看看效果图:
SoullessCoder
2019/08/07
4.7K0
Android实现商城购物车功能
Android仿淘宝购物车,玩转电商购物车
前言 其实做一个电商购物车,还真不是一个轻松的活。但是只要掌握思路,一步一步来做,就会发现也就这样。废物不多说,直接上效果图 完整代码,github链接,希望能给个星,谢谢 效果图 GIF1.gif
用户2032165
2018/06/05
3.1K0
mycat分库分表+springcloud微服务小案例实现
  本案例将模拟电商项目中的商品管理、订单管理、基础信息管理、日志管理模块,对整个系统中的数据表进行分片操作,将根据不同的业务需求,采用不同的分片方式 。 项目结构
别团等shy哥发育
2023/02/25
4460
mycat分库分表+springcloud微服务小案例实现
Spring MVC 学习总结(十一)——IDEA+Maven+多模块实现SSM框架集成
与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC负责请求的转发和视图管理, MyBatis作为数据对象持久化引擎。这样搭配的优点是:轻量、自由度高、Spring与Spring MVC契合度更好。通过一个商品管理示例完成SSM框架的集成,可以将前面学习过的一些内容整合起来。
张果
2018/12/10
1.7K0
Spring MVC 学习总结(十一)——IDEA+Maven+多模块实现SSM框架集成
ElasticSearch分布式搜索引擎——从入门到精通
elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容
不吃紫菜
2023/02/13
3.6K0
ElasticSearch分布式搜索引擎——从入门到精通
【测试SQLite】测试SQLite支持的SQL语句分类
为了全面测试SQLite支持的SQL语句,需要设计一个包含多种类型的表结构,并编写各种SQL语句来测试这些功能。目前按照以下分类进行测试:
SarPro
2024/05/24
7090
【测试SQLite】测试SQLite支持的SQL语句分类
RocketMQ
系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。
JokerDJ
2023/11/27
1.9K0
RocketMQ
Java从入门到精通
为什么要配置 path:希望 Java 的开发工具在任何文件的文件路径下都可以执行成功
用户11332765
2024/10/28
2930
Java从入门到精通
VUE2全家桶精讲
概念:Vue (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。
HelloWorldZ
2024/03/20
6110
VUE2全家桶精讲
springcloudAlibaba&rancher【后端专题】
DevOps即Development和Operations的组合词,是一组过程、方法与系统的统称,用于促进开发应用程序或软件工程、技术运营和质量保障QA部门之间的沟通、协作与整合。
高大北
2022/12/20
2.5K0
springcloudAlibaba&rancher【后端专题】
NumPy 初学者指南中文第三版:1~5
让我们开始吧。 我们将在不同的操作系统上安装 NumPy 和相关软件,并看一些使用 NumPy 的简单代码。 本章简要介绍了 IPython 交互式 shell。 SciPy 与 NumPy 密切相关,因此您将看到 SciPy 名称出现在此处和那里。 在本章的最后,您将找到有关如何在线获取更多信息的指南,如果您陷入困境或不确定解决问题的最佳方法。
ApacheCN_飞龙
2023/04/17
1.6K0
NumPy 初学者指南中文第三版:1~5
pyntho经典面试题
 (1)与java相比:在很多方面,Python比Java要简单,比如java中所有变量必须声明才能使用,而Python不需要声明,用少量的代码构建出很多功能;(高效的高级数据结构)
py3study
2020/01/17
3.2K0
面试:第十二章:所有总结
Java集合框架的根接口有Collection和Map。Collection根接口包含List和Set二个子接口。
Java廖志伟
2022/09/28
1.6K0
Python面试题之Python面试题汇总
(1)与java相比:在很多方面,Python比Java要简单,比如java中所有变量必须声明才能使用,而Python不需要声明,用少量的代码构建出很多功能;(高效的高级数据结构)
Jetpropelledsnake21
2018/08/01
11.7K0
Python面试题之Python面试题汇总
相关推荐
javafx框架tornadofx入门26_treeview_增加删除修改
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档