Как я могу скрыть CTabItem в CTabFolder
Вопрос
Я не могу найти какой-либо способ сделать вкладку невидимой или иным образом скрытой в приложении 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 и воссоздать их заново, если поле видимости истинно.