我的问题是:我的视图中有一个Eclipse RCP表。表格有网格线可见,一切都很好。但我希望所有的第一行的表单元格合并为单行在运行时GUI。如何实现此功能?拜托,我不希望在第一行添加文本来阻碍它。如果有任何API级别的功能或任何提示,欢迎。
swt表是一个本地小部件,不允许在列和行中使用任何span。甚至OwnerDraw(自定义单元格渲染)也不支持这个。我认为唯一可以让您实现这种hack的方法是swt表编辑器,它允许您在单元格上方放置控件:
http://www.eclipse.org/swt/snippets/tableeditor
表编辑器跟踪单个单元格的位置,并在其上方定位控件。当单元格不在编辑模式时隐藏控件,当单元格处于编辑模式时显示控件。您必须禁用此默认行为并确保控件始终显示—这应该相当容易。更具挑战性的部分是,您必须找出如何将控件放置在2个或更多(而不是单个)单元格之上。
我所知道的唯一支持span的swt控件是星云网格。Grid是一个自定义控件(没有原生小部件),因此提供了更多的可能性。
http://eclipse.org/nebula/widgets/grid/grid.phphttp://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.nebula/org.eclipse.swt.nebula.snippets/src/org/eclipse/swt/nebula/snippets/grid/GridSnippet2.java?root=Technology_Project&视图=有限公司
您可以使用GC api来完成表中的需求。U可以张成两列。http://www.java2s.com/Tutorial/Java/0280__SWT/Maketextspanmultiplecolumns.htm