javafx树视图加选框_JavaFX缺少的功能调查:表视图

javafx树视图加选框

JavaFX的TableView(和TreeTableView)赢得了我最近的“ JavaFX缺失功能”调查以及许多后续讨论中(尤其是我们苏黎世JavaFX Meetup小组的成员 )中提到最多的控件的价格。 )。 我想原因之一是一个简单的事实,即几乎每个应用程序都需要一个表视图。

TableView最需要的两个功能/改进是冻结行/列和更好的编辑支持。

冻结行/列

  • 冻结/锁定行–可以使一个或多个行停留在表格视图的顶部或底部。 尝试在列中显示值的总和时,通常需要此功能。
  • 冻结/锁定列–可以在表格视图的左侧或右侧保留一个或多个列。 同样,显示行中值的总和或显示行的某种标题。 对于我的FlexGanttFX框架,我希望在左侧有一个列来显示行号(是的,例如在Excel中)。

我相信冻结列/行是TableView计划的一项功能,但是由于时间和资源的限制,并没有将其纳入最终版本。 如果我没记错的话,实际上TableView代码库中有一些用于此目的的遗留代码/注释。

编辑支持

  • 只需开始输入新值即可编辑单元格值-当前用户必须先双击一个单元格。
  • 流利的键盘导航,可通过TAB,SHIFT_TAB,ENTER和箭头键从一个单元格导航到另一单元格。
  • 编辑值时的单元格验证。 如果不输入有效值或取消编辑,用户将不能离开单元格。

当前的编辑支持可能是使开发人员在使用TableView时最讨厌的一件事,因为他们知道用户希望得到更多。 我本人已经在两个项目中工作过,我们不得不修改TableView,以便它可以让用户直接编辑值。

要求的其他功能包括:

  • 单元格/行跨度–使单元格跨多个行和/或列的能力。
  • 过滤器用户界面–表格视图通常使用户可以在每一列中选择一个或多个过滤器。 然后,所有过滤器的集合将确定可见行。 在JavaFX中,可以轻松地在模型中完成此操作(通过SortedList和FilteredList),但开发人员希望直接在TableView内部(在标头内部)有内置控件。
  • 自动列大小调整–一种调整列宽以适应其内容的方法,以确保所有值的可读性。 该功能实际上是在TableView代码库中实现的。 当用户双击列标题的边缘时,它用于调整列的大小。 但是,此代码不是公开的。 我最近发布了一篇文章,展示了如何执行此操作

我认为上述所有功能都是可以通过良好的表控件获得的,但是我可以肯定,JavaFX团队本身不会在这方面取得任何进展。 我认为,从Oracle的角度来看,当前的表实现被认为“足够好”,因此我认为由第三方来提出一个好的替代方案(开源或商业)将取决于第三方。 我就如何实现自己的表视图控件进行了很多头脑风暴,但得出的结论是,它太大了,无法成为一个简单的附带项目。 这很不好,但这也意味着其他人有可能创造商业产品并实际从中获利。 因为就像我一开始所说:几乎所有应用程序都需要一个表视图。

下一个“缺少功能”博客将介绍性能和质量。

敬请关注!

PS :对于上面的某些功能,您可能需要尝试ControlsFX项目中的SpreadsheetView。

翻译自: https://www.javacodegeeks.com/2016/02/javafx-missing-features-survey-table-view.html

javafx树视图加选框

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值