我找不到任何使选项卡在 SWT/JFace 应用程序中不可见或以其他方式隐藏的方法 --- 我希望根据用户设置的其他一些偏好设置第二个选项卡可用(或不可用)。
弄清楚这一点应该不难!
我知道的唯一方法是为要隐藏的选项卡配置 CTabItem,然后在要显示时创建一个新的 CTabItem。有点,
CTabFolder folder = new CTabFolder(parent, SWT.NONE);
Label label = new Label(folder, SWT.NONE);
label.setText("Hello");
CTabItem item = new CTabItem(folder);
item.setControl(label);
// Hide it
item.dipose();
// show it again
CTabItem item = new CTabItem(folder);
item.setControl(label);
如果您想在中间隐藏一个选项卡,您需要在您处理的选项卡之后重新创建所有选项卡。如果您创建一个包含控件的类和一个可用于切换可见性的字段,这可能是最简单的。然后,如果可见性字段为真,您可以处理所有 CTabItems 并重新创建。