javafx - 覆盖 JavaFx TreeItem getChildren 是否添加了一个好主意?
问题描述
我的目标是在所有添加到树中的子项期间完成一个过程(准确地说是 TableTreeView)。
在node.getTreeItem().getChildren.add(playlist)
我的代码的不同部分调用它,我尽量保持最佳实践......所以让我们保持简单,并说我肯定会在拖放完成时调用它,以及在树的建筑。
我的“播放列表”可以是 3 种不同的类型(在枚举类中):
- 文件夹(包含其他播放列表)
- LIST(包含用户添加的曲目)
- QUERY(包含作为查询结果的轨道)
- MISTAKE(永远不应该设置,但对调试很有用)
我想在我的“扩展”上实现一个方法,TreeItem<Playlist>
例如getPlaylistType()
. 此方法将返回播放列表的类型。
问题:我的直觉会说我应该覆盖node.getTreeItem().getChildren.add(playlist)
以某种方式设置类型:
- 有儿童播放列表 --> FOLDER
- 不存在儿童播放列表 && 查询 --> QUERY
- 没有儿童播放列表 && 查询不存在 --> LIST
- 任何其他状态 --> UNKOWN/MISTAKE
- 这种方法正确吗?
- 如何覆盖 'add(...)' 方法?
解决方案
为什么要暴露node.getTreeItem().getChildren.add(playlist)
于软件的不同部分?如果你只是将它包装在你自己的类中,你可以公开它并在调用相应的add
方法时做任何你想做的事情。
推荐阅读
- ms-word - Bookdown chapter bibliographies .csl file MSWord/PDF
- javascript - 有什么方法可以在签入 Web 应用程序上本地更新 JSON 对象?
- tsql - 仅选择第 1 条和第 10 条记录
- multithreading - Double check locking in fortran with openmp
- javascript - Javascript write to local XML file
- gdb - How to make local labels in GNU GAS ELF output that GDB can break on but not count as functions?
- sql - How to SUM via Group By?
- c# - C# Char Array 在特定索引处删除
- cassandra - Cassandra - Composite Partition Keys and Performance
- postgresql - func (rs *Rows) 扫描处理一列类型的数组字符串