【问题标题】:How to set Horizontal scroll enabled for SWT Scrolled Composite如何为 SWT Scrolled Composite 设置启用水平滚动
【发布时间】:2013-07-15 18:34:01
【问题描述】:

我在 CTabFolder 中有一个 CTabItem,我希望在我的选项卡项中进行水平和垂直滚动。以下是我的代码:

composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout(4, false));

mainTabFolder = new CTabFolder(composite, SWT.BORDER );
GridData mainTabGD = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
mainTabGD.widthHint = 550;
mainTabGD.heightHint = 350;
mainTabFolder.setLayoutData(mainTabGD);

generalTabItem = new CTabItem(mainTabFolder, SWT.NONE);
generalTabItem.setText("General");


ScrolledComposite sc = new ScrolledComposite(mainTabFolder, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL );

generalTabComposite = new Composite(sc, SWT.NONE);
generalTabComposite.setLayout(new GridLayout(4, false));

// I have created some SWT widgets here

generalTabItem.setControl(sc);  

sc.setContent(generalTabComposite);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
sc.setMinSize(generalTabComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));

上面的代码给了我一个垂直滚动,但我无法实现水平滚动。 请让我知道我哪里出错了。

谢谢

【问题讨论】:

  • 您告诉ScrolledComposite,它是您最后一行代码中的最小尺寸。如果合成的大小大于此值,则不会显示滚动条。
  • 谢谢巴兹!!!成功了
  • 我将评论转换为答案。有空请采纳。

标签: java eclipse swt jface


【解决方案1】:

您在最后一行代码中告诉ScrolledComposite 它是最小尺寸:

sc.setMinSize(generalTabComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));

如果合成的大小大于此值,则不会显示滚动条。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2015-04-11
    • 2012-05-01
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多