Java SWT表格不使用鼠标滚轮滚动
我正在创建一个JFace表,如下所示:Java SWT表格不使用鼠标滚轮滚动,java,swt,Java,Swt,我正在创建一个JFace表,如下所示: final Table table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION); 并期待着滚动与标题固定在顶部,但我没有得到我所期望的。我可以使用垂直和水平滚动条滚动表格,但是 列标题将从视图中滚出 即使鼠标滚轮处于焦点位置,我也无法滚动。 我真的需要自己补充吗 更多详情: 我使用我的表作为MasterDetails块的详细信息部分 My DetailsPage类扩展了AbstractForm
final Table table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION);
并期待着滚动与标题固定在顶部,但我没有得到我所期望的。我可以使用垂直和水平滚动条滚动表格,但是
列标题将从视图中滚出
即使鼠标滚轮处于焦点位置,我也无法滚动。
我真的需要自己补充吗
更多详情:
我使用我的表作为MasterDetails块的详细信息部分
My DetailsPage类扩展了AbstractFormPart并实现了IDetailsPage
@Override
public void createContents(final Composite parent) {
final Layout layout = new FillLayout();
parent.setLayout(layout);
createViewer(parent);
}
private void createViewer(final Composite parent) {
final Table table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION);
// this.viewer = new TableViewer(parent, SWT.MULTI | /*SWT.H_SCROLL | SWT.V_SCROLL |*/ SWT.FULL_SELECTION | SWT.BORDER);
this.viewer = new TableViewer(table);
createColumns(parent, this.viewer);
table.setHeaderVisible(true);
table.setLinesVisible(true);
this.viewer.setContentProvider(new ArrayContentProvider());
// get the content for the viewer, setInput will call getElements in the
// contentProvider
this.viewer.setInput( /createInput() );
// make the selection available to other views
this.editor.getSite().setSelectionProvider(this.viewer);
...
}
createInput返回我的元素数组。注释掉的部分是我最初的尝试,但也不起作用。我不确定为什么会起作用,但当我将详细信息页面的布局更改为GridLayout并为表提供以下GridData时,它按预期工作
final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.widthHint = 500;
gd.heightHint = 120;
table.setLayoutData(gd);
我从那里得到提示,我无法复制您的问题。我有固定的标题,我可以用鼠标滚轮滚动。你正在使用哪个操作系统?你能在创建表格的地方发布完整的代码片段吗?@Baz我添加了代码。你现在能复制它吗?@Baz我在Windows7上,EclipseJunonope,不能复制它。这是我通常做的事。很好用。但我没有使用RCP。这可能与我的主/详细信息块的设置方式有关吗?当焦点放在树视图的主部分上时,它会很好地滚动。另外,我注意到,当列表很长时,如果有一个,则水平滚动条一直位于底部,我必须向下滚动才能看到它。