我的问题是:我的视图中有一个Eclipse RCP表。该表有网格线可见,一切都很好。但我希望表的第一行的所有单元格在运行时GUI中合并为一行。我该如何实现此功能?拜托,我不希望在第一行添加文字阻碍它。如果有任何API级别功能或任何线索,欢迎使用。
答案 0 :(得分:2)
swt表是一个本机窗口小部件,不允许任何跨度,无论是列还是行。甚至OwnerDraw(自定义单元格渲染)也不支持此功能。我看到的唯一可以让你实现这种破解的方法是swt表编辑器,它允许你将控件放在单元格上面:
http://www.eclipse.org/swt/snippets/#tableeditor
表格编辑器跟踪单个单元格的位置,并在其上方定位控件。它在单元格未处于编辑模式时隐藏控件,在单元格处于编辑模式时显示它们。您必须停用此默认行为并确保始终显示控件 - 这应该相当容易。 更具挑战性的部分是,您必须找出如何将控件置于2个或更多(而非单个)单元格之上。
我知道支持跨度的唯一swt控件是星云网格。网格是一个自定义控件(没有原生小部件),因此提供了更多的可能性。
http://eclipse.org/nebula/widgets/grid/grid.php http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.nebula/org.eclipse.swt.nebula.snippets/src/org/eclipse/swt/nebula/snippets/grid/GridSnippet2。 ?java的根= Technology_Project&安培;图=共
答案 1 :(得分:1)
你可以使用GC api来满足表中的需求。你可以跨越两列。 http://www.java2s.com/Tutorial/Java/0280__SWT/Maketextspanmultiplecolumns.htm