я следующий метод, который создает TabFolder
с двумя вкладками (TabItem
) внутри него:Как добавить полосы прокрутки в TabItem?
protected Control createContents(Composite parent) {
Control control = super.createContents(parent);
// 1. Create a TabFolder (dialogArea is a Control)
TabFolder folder = new TabFolder((Composite) dialogArea, SWT.TOP);
// 2. Create tab 1
TabItem firstTab = new TabItem(folder, SWT.NONE);
firstTab.setText("Tab One");
firstTab.setControl(createMyFirstComposite(folder));
// 3. Create tab 2
TabItem secondTab = new TabItem(folder, SWT.NONE);
secondTab.setText("Tab Two");
secondTab.setControl(createMySecondComposite(folder));
// TODO: Make the tab content scrollable
return control;
}
Поскольку содержание вкладок содержит много элементов (созданных внутри createMyFirstComposite(folder)
и createMySecondComposite(folder)
, я хочу добавить . скроллбары к нему
Как я могу это сделать
UPDATE: Пытался реализовать ScrolledComposite
как предложил Грег:
protected Control createContents(Composite parent) {
Control control = super.createContents(parent);
TabFolder folder = new TabFolder((Composite) dialogArea, SWT.TOP);
TabItem firstTab = new TabItem(folder, SWT.NONE);
firstTab.setText("Tab One");
ScrolledComposite sc = new ScrolledComposite(folder, SWT.V_SCROLL | SWT.H_SCROLL);
sc.setExpandHorizontal(true);
// createMyFirstComposite() returns composite with controlls
Composite body = createMyFirstComposite(folder);
sc.setContent(body);
sc.setMinSize(body.computeSize(SWT.DEFAULT, SWT.DEFAULT));
firstTab.setControl(sc);
// second tab...
return control;
}
К сожалению, на вкладке нет содержания. Я что-то упустил?
Использование 'ScrolledComposite' –
@ Greg-449 Вы можете дать краткий пример, основанный на моем коде? Не знаю, куда положить 'ScrolledComposite' внутри. – John