gpt4 book ai didi

java - 如何在 ScrolledForm 中禁用滚动条?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:54:46 24 4
gpt4 key购买 nike

ScrolledForm的 scrollBar 有时会导致问题。我遇到了与 this guy in EclipseZone Forum 相同的问题(这是 2005 年提出的问题,但似乎尚未解决)。

//滚动条应该只显示在TreeViewer中,而不是整个窗体 The scrollbar should only be displayed in the TreeViewer,not the whole form.

最佳答案

这个问题我已经遇到过好几次了,都是这样解决的:

@Override
protected void createFormContent(IManagedForm managedForm) {
// set the form's body's layout to GridLayout
final Composite body = managedForm.getForm().getBody();
body.setLayout(new GridLayout());

// create the composite which should not have the scrollbar and set its layout data
// to GridData with width and height hints equal to the size of the form's body
final Composite notScrolledComposite = managedForm.getToolkit().createComposite(body);
final GridData gdata = GridDataFactory.fillDefaults()
.grab(true, true)
.hint(body.getClientArea().width, body.getClientArea().height)
.create();
notScrolledComposite.setLayoutData(gdata);

// add resize listener so the composite's width and height hints are updates when
// the form's body resizes
body.addControlListener(new ControlAdapter() {
@Override
public void controlResized(ControlEvent e) {
super.controlResized(e);
gdata.widthHint = body.getClientArea().width;
gdata.heightHint = body.getClientArea().height;
notScrolledComposite.layout(true);
}
});
}

注意表单正文中的 GridLayout,然后将宽度和高度 hint 设置为复合的 GridLayoutData

另请注意 body 上的调整大小监听器,它会更新网格布局数据并布局组合。

希望对您有所帮助!

关于java - 如何在 ScrolledForm 中禁用滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17485392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com