SWT Table 不使用鼠标滚轮滚动
SWT Table not scrolling with mouse wheel
我正在创建一个像这样的 JFace table:
final Table table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION);
并期待滚动(headers 固定在顶部),但我没有得到我期望的结果。我可以使用垂直和水平滚动条来滚动 table,但是
- 列 headers 滚出视图
- 即使鼠标滚轮处于焦点状态,我也无法滚动。
我真的需要自己添加吗?
预计到达时间更多详情:
我正在使用我的 table 作为 MasterDetails 块的详细信息部分。
My DetailsPage class 扩展 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() returns 我的元素数组。注释掉的部分是我最初的尝试,但也没有用。
我不确定为什么会这样,但是当我将详细信息页面的布局更改为 GridLayout 并为 table 提供以下 GridData 时,它按预期工作。
final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.widthHint = 500;
gd.heightHint = 120;
table.setLayoutData(gd);
我从here
那里得到了小费
我正在创建一个像这样的 JFace table:
final Table table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION);
并期待滚动(headers 固定在顶部),但我没有得到我期望的结果。我可以使用垂直和水平滚动条来滚动 table,但是
- 列 headers 滚出视图
- 即使鼠标滚轮处于焦点状态,我也无法滚动。
我真的需要自己添加吗?
预计到达时间更多详情:
我正在使用我的 table 作为 MasterDetails 块的详细信息部分。
My DetailsPage class 扩展 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() returns 我的元素数组。注释掉的部分是我最初的尝试,但也没有用。
我不确定为什么会这样,但是当我将详细信息页面的布局更改为 GridLayout 并为 table 提供以下 GridData 时,它按预期工作。
final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.widthHint = 500;
gd.heightHint = 120;
table.setLayoutData(gd);
我从here
那里得到了小费