更高级的表/电子表格SWT实现

我正在开发一个基于Eclipse的富客户端平台的应用程序,该应用程序在很大程度上依赖于使用表来显示和编辑数据。 我目前正在使用Table和TableViewer的SWT实现。

我的用户永远抱怨它“不像excel那样工作”。 最值得注意的是,我无法在一行中选择单个单元格,并且所有行都具有相同的高度。 我正在寻找解决这些问题的实现。

标准:

  • 免费(如演讲啤酒 – 我是博士生,课程是EPL)
  • SWT(在SWT中包含挥杆的各种解决方案都不是很好)

编辑:

到目前为止,我有以下建议:

  • Ktable
  • 星云网格小工具
  • NatTable
  • 敏捷网格
  • Jaret表

不幸的是,粗略一瞥没有提供有关这些实现之间差异的信息。 我当然会在这里寻找解决方案和报告,但你对这个问题有什么建议吗?

查看星云网格组件。 它仍在开发中,因此不是100%成熟,但似乎可以满足您的需求。

另外3人

NatTable

敏捷网格

Jaret表

我认为SWT Matrix具有您正在寻找的function。

它具有对称设计,因此行和列具有相同的表示,这意味着它们都可以被选择,移动,隐藏,resize等,就像在excel中一样。 细胞导航和选择也很出色。 并且所有键和鼠标手势都与spreadshits中的操作相同。

该组件是封闭源,但可以免费用于私人和非商业用途。 尽管如此,仍处于alpha阶段。

KTable成熟且可定制。 我用它来为我的SWT应用程序提供非常棒的体验。

NatTable倾向于提供高性能和大容量function

我一直在使用星云网格组件,如前所述,在一个工作项目中,一般来说我不得不说我觉得它运作得很好。 存在一些性能问题,并且还没有完成,但是很容易弯曲到您需要的任何形状,并且可以很好地处理电子表格式的数据表。 您可以拥有列标题和行标题,列组,自定义单元格渲染器等。

我最近遇到的问题是要正确计算线高,并且看起来现在没有太多活跃的开发,所以我将尝试自己修复它。

NatTable是免费的,快速的和强大的。

自从这个问题首次提出以来,它已成为Eclipse Nebula项目的一部分。 发展仍然活跃。

API非常庞大。 大量示例提供了简单的示例代码以便入门。

一些不错的function:

  • 可以处理大型数据集而不会出现性能问题
  • 行标题
  • 跨越细胞
  • 树桌
  • 单元格编辑器:文本,组合,复选框
  • 要复制,导出到Excel和打印的标准操作。
  • 无效值的validation和可视指示
  • 多单元格编辑
  • 细胞装饰者
  • 保持列大小,顺序,隐藏,排序等状态

运行示例以查看速度和功率。 请注意,您必须将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。 这个答案提供了更新和更多信息。]

KTable类似于JTable。

星云网格与Widget + Viewer范例非常吻合。 我能够在几分钟内从正常的SWT表迁移到此。