接着上篇文章,科目数据从SPI的druid模块提取后,下面就是思考如何展示更方便日常工作中的使用。很显示,财政部的小企业会计准则科目表从表面看起来是一个平面的线性结构,但实际上,它是分成了资产、负债、所有者权益、成本和损益五类,感觉javafx中的TreeView展示数据应该更形象。
我们来思考如何抽象Tree型的数据结构
很明显,从DRUID提取过来的数据不是树型结构,从理念上去将它抽象成树形结构,我们要将分类叶子同样抽象成科目类。因为从官方的API中我们可以看到TreeView所有的节点,不管是不是叶子,它都是TreeItem<T>,很显然,分类节点和科目节点不是相同的数据类型,我们要稍做抽象,将分类节点切合成科目类型是我想到的最简便的方法。出于系统整体设计的考虑,我抽象出如下几个节点类型:
KeMu rootKeMu=new KeMu("","","","-1","","2023年11月","","","","","");
TreeItem<KeMu> treeRoot=new TreeItem<KeMu&g