java - SWT 选项卡文件夹 : How do you automatically compress TabItems when there are too many

标签 java swt eclipse-rcp

我有一个 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());

最佳答案

正如 @greg-449 提到的,您可以使用 CTabFolder 来完成此操作。默认情况下,CTabFolder 将显示不少于 20 characters压缩时,因此如果选项卡标题不够长,您可能不会注意到此默认行为。

您可以调用CTabFolder.setMinimumCharacters(int)如果你想改变这个值。

默认行为:

enter image description here

使用新的最低设置:

enter image description here

关于java - SWT 选项卡文件夹 : How do you automatically compress TabItems when there are too many,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52745982/

相关文章:

java - 在 Java 中获取 TIFF 图像的像素值

java - 使用 ViewerComparator 对 SWT 表进行排序从不调用比较

Java SWT - 如果新的 child 被添加到组合中,听听?

eclipse-rcp - 如何在 Eclipse 作业中管理单独的线程/作业?

java - ViewerSupport 和 ITableColorProvider 或 ITableFontProvider

eclipse - 尝试运行 eclipse 产品时出现异常

java - SQLite 应用程序在显示数据时崩溃

java - 字母的随机排列

java - 首选免费项目管理+SCM工具组合

java - 如何更改 JFace 向导对话框中的“后退”和“下一步”按钮位置?