更高级的表格/电子表格 SWT 实现
Posted
技术标签:
【中文标题】更高级的表格/电子表格 SWT 实现【英文标题】:A more advanced table/spreadsheet SWT implementation 【发布时间】:2010-09-12 01:26:54 【问题描述】:我正在开发一个基于 Eclipse 富客户端平台的应用程序,该平台严重依赖于使用表格来显示和编辑数据。我目前正在使用 Table 和 TableViewer 的 SWT 实现。
我的用户总是抱怨它“不像在 excel 中那样工作”。最值得注意的是,我无法选择一行中的单个单元格,并且所有行都具有相同的高度。我正在寻找解决这些问题的实现。
标准:
免费(如演讲中的和啤酒 -- 我是一名博士生,课程是 EPL) SWT(在 SWT 中包含 swing 的各种解决方案都不是很好)编辑:
到目前为止,我有以下建议:
Ktable Nebula Grid Widget NatTable Agile Grid Jaret Table不幸的是,粗略一瞥并没有提供有关这些实现之间差异的信息。我当然会在这里寻找解决方案并报告,但是您对此有什么建议吗?
【问题讨论】:
【参考方案1】:查看Nebula Grid 组件。它仍在开发中,因此不是 100% 成熟,但似乎可以满足您的需求。
【讨论】:
【参考方案2】:另外三个
NatTable
Agile Grid
Jaret Table
【讨论】:
【参考方案3】:我认为SWT Matrix 具有您正在寻找的功能。
它采用对称设计,因此行和列具有相同的表示形式,这意味着它们都可以像在 excel 中一样被选择、移动、隐藏、调整大小等。单元格导航和选择也类似于 Excel。而且所有的键和鼠标手势都绑定到与spreadshit中相同的动作。
该组件是封闭源代码,但可免费用于私人和非商业用途。不过,目前仍处于 Alpha 阶段。
【讨论】:
【参考方案4】:KTable 成熟且可定制。我用它来为我的 SWT 应用程序提供非常类似于 Excel 的体验。
【讨论】:
据我所知,KTable 已经好几年没维护了【参考方案5】:NatTable 倾向于提供高性能和大容量容量
【讨论】:
【参考方案6】:如前所述,我一直在工作项目中使用Nebula Grid 组件,总的来说,我不得不说我认为它工作得很好。存在一些性能问题,它还没有完全完成,但它很容易弯曲成你需要的任何形状,并且在电子表格样式的数据表方面做得很好。您可以拥有列和行标题、列组、自定义单元格渲染器等。
我最近遇到的问题是如何正确计算线高,而且目前似乎没有太多积极的开发,所以我会自己尝试修复它。
【讨论】:
【参考方案7】:NatTable 是免费、快速和强大的。
自从第一次提出这个问题以来,它已经成为 Eclipse Nebula 项目的一部分。发展依然活跃。
API 非常庞大。大量示例提供了简单的示例代码供您入门。
一些不错的功能:
可以处理大型数据集而不会出现性能问题 行标题 跨越单元格 树形表 单元格编辑器:文本、组合、复选框 复制、导出到 Excel 和打印的标准操作。 无效值的验证和视觉指示 多单元格编辑 单元格装饰器 保持列大小、顺序、隐藏、排序等状态。运行示例以查看速度和功率。请注意,您必须将 SWT 插件添加到您的类路径中。示例不包括它。这是一个例子:
C:> java -cp C:\eclipse\plugins\org.eclipse.swt.win32.win32.x86_VERSION.jar;NatTableExamples-0.9.0.jar org.eclipse.nebula .widgets.nattable.examples.NatTableExamples
[感谢前几年的海报提到 NatTable。此答案提供了更新和更多信息。]
【讨论】:
【参考方案8】:KTable 类似于 JTable。
Nebula Grid 非常适合 Widget + Viewer 范例。我能够在几分钟内从普通 SWT 表迁移到此表。
【讨论】:
以上是关于更高级的表格/电子表格 SWT 实现的主要内容,如果未能解决你的问题,请参考以下文章