Java 如何将CtabFolder放置在SWT中的另一个CtabFolder中

Java 如何将CtabFolder放置在SWT中的另一个CtabFolder中,java,swt,Java,Swt,请帮帮我,我是SWT的助手。 我想在另一个CTabFolder中放置一个CTabFolder。 我尝试了以下代码,但它不完整 import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.widgets.Button

请帮帮我,我是SWT的助手。 我想在另一个
CTabFolder
中放置一个
CTabFolder
。 我尝试了以下代码,但它不完整

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import sun.awt.HorizBagLayout;

    public class LayoutExample2
    {

    public static void main(String[] args) {

        Display display=new Display();
        Shell shell=new Shell(display);
        shell.setLayout(new GridLayout());  

        CTabFolder ctf_main=new CTabFolder(shell,SWT.RIGHT_TO_LEFT);
        CTabItem ctb1=new CTabItem(ctf_main,SWT.NONE);
        ctf_main.setSimple(false);
        ctf_main.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
        ctf_main.pack();
        ctb1.setText("Error Management Portal      ");

         CTabFolder ctf_inner=new CTabFolder(ctf_main,SWT.RIGHT_TO_LEFT);
         CTabItem tbi1=new CTabItem(ctf_main,SWT.FLAT);
         tbi1.setText("Search ");


            shell.setMaximized(true);
            shell.pack();
            shell.open();

        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
        display.dispose();
    }
    }
请帮助我将一个
Ctabfolder
放入另一个
Ctabfolder

我发现这些问题:

您的内部
CTabItem
tbi1
具有错误的父级,它应该将内部文件夹作为其父级:

CTabItem tbi1 = new CTabItem(ctf_inner, SWT.FLAT);
您需要告诉
CTabItem
它使用
CTabItem.setControl()
方法管理的控件。因此,外部选项卡将内部文件夹作为其控件:

ctb1.setControl(ctf_inner);
您可能还需要创建内部文件夹的子文件夹以使内容正确显示:

Composite innerComp = new Composite(ctf_inner, SWT.NONE);

tbi1.setControl(innerComp);

我很确定
CTabItem
没有
setContent()
方法。