java - 如何为 SWT Scrolled Composite 设置启用水平滚动

标签 java eclipse swt jface

我在 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 它的最小大小:

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

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

关于java - 如何为 SWT Scrolled Composite 设置启用水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17661361/

相关文章:

java - 如何更改Eclipse提取方法模板?

eclipse - 通过 Eclipse 部署 Alfresco 应用程序

java - 如何使用 Twistie 设置 SWT 章节标题的样式?

java - @QueryParam 正则表达式

java.sql.Date 未插入数据表中

java - enum - 不能从非静态上下文中引用非静态方法

java - 不能在插件中引用 org.osgi.*

java - GridLayout 的 setLineBackground

java - 如何在不触发 SelectionChanged() 的情况下设置树查看器的选择?

java - 如何初始化页面对象模型中的 Select 变量