我有一个TabFolder,可以在其中动态创建TabItem。我期望这些选项卡像在浏览器中那样压缩时,它们会在屏幕上容纳得更多,但是除非我添加水平滚动,否则它们只会一直向右扩展到屏幕外。有没有办法让它们像这样自动压缩?
TabFolder tabsComposite = new TabFolder(builder, SWT.NONE);
tabsComposite.setLayout(new GridLayout(1, false));
GridData tabsLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
tabsComposite.setLayoutData(tabsLayoutData);
这些是通过单击另一种方法中的按钮创建的,可以创建任意数量的
TabItem item = new TabItem(tabsComposite, SWT.NONE);
tableComposite = new Composite(parent, SWT.BORDER);
GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
tableComposite.setLayoutData(tableLayoutData);
GridLayout tableLayout = new GridLayout(1, false);
tableComposite.setLayout(tableLayout);
item.setText(nameText.getText());
答案 0 :(得分:1)
如@ greg-449所述,您可以使用CTabFolder
完成此操作。默认情况下,CTabFolder
在压缩时将显示不少于20 characters,因此,如果标签标题不够长,您可能不会注意到此默认行为。
如果要更改此值,可以致电CTabFolder.setMinimumCharacters(int)
。
默认行为:
使用新的最低设置: