类org.eclipse.swt.widgets.TabItem源码实例Demo

下面列出了怎么用org.eclipse.swt.widgets.TabItem的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: eclipse-cs   文件: RuleConfigurationEditDialog.java
/**
 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 */
@Override
protected Control createDialogArea(Composite parent) {
  Composite composite = (Composite) super.createDialogArea(parent);

  mMainTab = new TabFolder(composite, SWT.NULL);
  mMainTab.setLayoutData(new GridData(GridData.FILL_BOTH));

  Composite generalSettings = createGeneralSection();
  Composite advancedSettings = createAdvancedSection();

  TabItem mainItem = new TabItem(mMainTab, SWT.NULL);
  mainItem.setControl(generalSettings);
  mainItem.setText(Messages.RuleConfigurationEditDialog_tabGeneral);

  TabItem advancedItem = new TabItem(mMainTab, SWT.NULL);
  advancedItem.setControl(advancedSettings);
  advancedItem.setText(Messages.RuleConfigurationEditDialog_tabAdvanced);

  initialize();
  return composite;
}
 
源代码2 项目: spotbugs   文件: ReportConfigurationTab.java
public ReportConfigurationTab(TabFolder parent, FindbugsPropertyPage page, int style) {
    super(parent, style);
    this.propertyPage = page;
    setLayout(new GridLayout());

    TabItem tabDetector = new TabItem(parent, SWT.NONE);
    tabDetector.setText(getMessage("property.reportConfigurationTab"));
    tabDetector.setControl(this);
    tabDetector.setToolTipText("Configure bugs reported to the UI");

    Composite rankAndPrioGroup = new Composite(this, SWT.NONE);
    rankAndPrioGroup.setLayout(new GridLayout(2, false));

    createRankGroup(rankAndPrioGroup);
    createPriorityGroup(rankAndPrioGroup);

    createBugCategoriesGroup(rankAndPrioGroup, page.getProject());
    createBugSeverityGroup(rankAndPrioGroup);
}
 
源代码3 项目: LogViewer   文件: LogViewer.java
public void widgetSelected(SelectionEvent e) {
    TabItem item = (TabItem)e.item;
    if(item == null) {
        return;
    }
    // get new
    LogFileTab tab = getSelectedTab(item);
    if(tab == null || tab.getDocument() == null) {
        return;
    }
    // save old selection
    if (oldTabItem != null) {
        LogFileTab oldTab = getSelectedTab(oldTabItem);
        if((oldTab != null) && (oldTab.getDocument() != null)) {
            oldTab.setSelection(viewer.getSelection());
            oldTab.setTopIndex(viewer.getTopIndex());
        }
    }
    // restore
    fileEncodingAction.setText(LogViewerPlugin.getResourceString("menu.encodingchange.text",new Object[] {tab.getDocument().getEncoding()})); //$NON-NLS-1$
    showDocument(tab.getDocument(), tab.getSelection(), tab.getTopIndex(),false);
    updateTailStartStopButtons(tab.getDocument().isMonitor());
    refreshCurrentFileAction.setEnabled(true);
    // set act tab item
    oldTabItem = item;
}
 
源代码4 项目: gama   文件: EditboxPreferencePage.java
protected void newTab(final String value) {
	categoryList.add(value);
	final TabItem item = new TabItem(folder, SWT.NONE);
	item.setText(value);
	final BoxSettingsTab p = new BoxSettingsTab();
	final IBoxProvider provider = BoxProviderRegistry.getInstance().providerForName(value);
	item.setControl(p.createContro(folder, provider));
	item.setData(p);
	if (categoryFiles == null) {
		categoryFiles = new LinkedHashMap<>();
	}
	Collection<String> fileNames = p.getSettings().getFileNames();
	if (fileNames == null) {
		fileNames = Collections.emptyList();
	}
	categoryFiles.put(value, new LinkedHashSet<>(fileNames));
	categoryList.setSelection(new String[] { value });
	namesList.setItems(fileNames.toArray(new String[0]));
	bAddFile.setEnabled(true);
}
 
源代码5 项目: gama   文件: EditboxPreferencePage.java
@Override
public boolean performOk() {
	final TabItem[] items = folder.getItems();
	for (int i = 1; i < items.length; i++) {
		final Object o = items[i].getData();
		if (o instanceof BoxSettingsTab) {
			final BoxSettingsTab pref = (BoxSettingsTab) o;
			final String msg = pref.validate();
			if (msg != null) {
				folder.setSelection(i);
				setMessage(msg);
				return false;
			}
			pref.save();
		}
	}
	if (providersChanged) {
		BoxProviderRegistry.getInstance().storeProviders();
	}
	return true;
}
 
源代码6 项目: gama   文件: EditboxPreferencePage.java
@Override
public void widgetSelected(final SelectionEvent e) {
	final int i = categoryList.getSelectionIndex();
	if (i > -1) {
		final String name = categoryList.getItem(i);
		categoryList.remove(i);
		categoryFiles.remove(name);
		namesList.setItems(new String[0]);
		bAddFile.setEnabled(false);
		final TabItem ti = folder.getItem(i + 1);
		final Object o = ti.getData();
		ti.dispose();
		if (o instanceof BoxSettingsTab) {
			((BoxSettingsTab) o).dispose();
		}
		BoxProviderRegistry.getInstance().removeProvider(name);
		providersChanged = true;
	}
}
 
源代码7 项目: slr-toolkit   文件: SettingsDialog.java
private void buildBarSettings() {
	
	TabFolder folderBarChart = new TabFolder(pageBarChart, SWT.NONE);
	
	TabItem itemFolderBarChart_1 = new TabItem(folderBarChart, SWT.NONE);
	TabItem itemFolderBarChart_2 = new TabItem(folderBarChart, SWT.NONE);
	TabItem itemFolderBarChart_3 = new TabItem(folderBarChart, SWT.NONE);
	TabItem itemFolderBarChart_4 = new TabItem(folderBarChart, SWT.NONE);
	
	
	generalPageBar = new GeneralPageBar(folderBarChart, SWT.NONE);
	itemFolderBarChart_1.setControl(generalPageBar);
	itemFolderBarChart_1.setText("General Settings");
	
	legendPageBar = new LegendPageBar(folderBarChart, SWT.NONE);
	itemFolderBarChart_2.setControl(legendPageBar);
	itemFolderBarChart_2.setText("Legend Settings");
	
	seriesPageBar = new SeriesPageBar(folderBarChart, SWT.NONE);
	itemFolderBarChart_3.setControl(seriesPageBar);
	itemFolderBarChart_3.setText("Series Settings");
	
	axisPageBar = new AxisPageBar(folderBarChart, SWT.NONE);
	itemFolderBarChart_4.setControl(axisPageBar);
	itemFolderBarChart_4.setText("Axis Settings");
}
 
源代码8 项目: slr-toolkit   文件: SettingsDialog.java
private void buildBubbleSettings() {
	pageBubbleChart.setLayout(new FillLayout());
	TabFolder folderBubbleChart = new TabFolder(pageBubbleChart, SWT.NONE);
	
	TabItem itemFolderBubbleChart_1 = new TabItem(folderBubbleChart, SWT.NONE);
	TabItem itemFolderBubbleChart_2 = new TabItem(folderBubbleChart, SWT.NONE);
	TabItem itemFolderBubbleChart_3 = new TabItem(folderBubbleChart, SWT.NONE);
	
	gerneralPageBubble = new GeneralPageBubble(folderBubbleChart, SWT.NONE);
	seriesPageBubble = new SeriesPageBubble(folderBubbleChart, SWT.NONE);
	axisPageBubble = new AxisPageBubble(folderBubbleChart, SWT.NONE);
	
	itemFolderBubbleChart_1.setControl(gerneralPageBubble);
	itemFolderBubbleChart_2.setControl(seriesPageBubble);
	itemFolderBubbleChart_3.setControl(axisPageBubble);
	
	itemFolderBubbleChart_1.setText("General Settings");
	itemFolderBubbleChart_2.setText("Series Settings");
	itemFolderBubbleChart_3.setText("Axis Settings");
}
 
源代码9 项目: slr-toolkit   文件: SettingsDialog.java
private void buildPieSettings() {
	pagePieChart.setLayout(new FillLayout());
	TabFolder folderPieChart = new TabFolder(pagePieChart, SWT.NONE);
	
	TabItem itemFolderPieChart_1 = new TabItem(folderPieChart, SWT.NONE);
	itemFolderPieChart_1.setText("General Settings");
	TabItem itemFolderPieChart_2 = new TabItem(folderPieChart, SWT.NONE);
	itemFolderPieChart_2.setText("Legend Settings");
	TabItem itemFolderPieChart_3 = new TabItem(folderPieChart, SWT.NONE);
	itemFolderPieChart_3.setText("Series Settings");
	
	
	gerneralPagePie = new GeneralPagePie(folderPieChart, SWT.NONE);
	itemFolderPieChart_1.setControl(gerneralPagePie);
	legendPagePie = new LegendPagePie(folderPieChart, SWT.NONE);
	itemFolderPieChart_2.setControl(legendPagePie);
	seriesPagePie = new SeriesPagePie(folderPieChart, SWT.NONE);
	itemFolderPieChart_3.setControl(seriesPagePie);
}
 
private void createParameterExceptionsFolder(Composite composite) {
	TabFolder folder= new TabFolder(composite, SWT.TOP);
	folder.setLayoutData(new GridData(GridData.FILL_BOTH));

	TabItem item= new TabItem(folder, SWT.NONE);
	item.setText(RefactoringMessages.ChangeSignatureInputPage_parameters);
	item.setControl(createParameterTableControl(folder));

	TabItem itemEx= new TabItem(folder, SWT.NONE);
	itemEx.setText(RefactoringMessages.ChangeSignatureInputPage_exceptions);
	itemEx.setControl(createExceptionsTableControl(folder));

	folder.addSelectionListener(new SelectionAdapter() {
		@Override
		public void widgetSelected(SelectionEvent e) {
			((TabItem) e.item).getControl().setFocus();
		}
	});
}
 
源代码11 项目: developer-studio   文件: UpdaterDialog.java
private void createFeatureListTab(TabFolder tabFolder, ActiveTab type) {
	TabItem tabItem = new TabItem(tabFolder, SWT.NULL);
	if (type == ActiveTab.ALL_FEATURES) {
		tabItem.setText(ALL_FEATURES_TAB_TITLE);
	} else {
		tabItem.setText(UPDATES_TAB_TITLE);
	}
	ScrolledComposite scroll = new ScrolledComposite(tabFolder, SWT.V_SCROLL | SWT.H_SCROLL);
	scroll.setLayout(new GridLayout());
	scroll.setLayoutData(new GridData());

	Group group = new Group(scroll, SWT.NONE);
	group.setLayout(new GridLayout());
	group.setLayoutData(new GridData());
	listFeatures(group, type);
	scroll.setContent(group);
	scroll.setExpandHorizontal(true);
	scroll.setExpandVertical(true);
	scroll.setMinSize(group.computeSize(SWT.DEFAULT, SWT.DEFAULT));
	tabItem.setControl(scroll);
}
 
源代码12 项目: tmxeditor8   文件: SpellPage.java
@Override
protected Control createContents(Composite parent) {
	isInit = true;
	Composite tParent = new Composite(parent, SWT.BORDER);
	tParent.setLayoutData(new GridData(GridData.FILL_BOTH));
	tParent.setLayout(new GridLayout());
	
	addSpellInstalGroup(tParent);
	
	tabFolder = new TabFolder(tParent, SWT.NONE);
	tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
	
	hunspellTabItem = new TabItem(tabFolder, SWT.NONE);
	hunspellTabItem.setText(Messages.getString("qa.preference.SpellPage.hunspellTab"));
	
	aspellTabItem = new TabItem(tabFolder, SWT.NONE);
	aspellTabItem.setText(Messages.getString("qa.preference.SpellPage.aspellTab"));
	
	createHunspellCmp();
	createAspellCmp();
	
	initData();
	return parent;
}
 
源代码13 项目: birt   文件: AggregationDialog.java
private TabFolder createTabFolder( Composite parent )
{
	tabFolder = new TabFolder( parent, SWT.NONE );
	// Should not set layout for TabFolder.
	// GridData gd = new GridData( GridData.FILL_BOTH );
	// tabFolder.setLayoutData( gd );
	// GridLayout layout = new GridLayout( );
	// tabFolder.setLayout( layout );

	rowArea = new TabItem( tabFolder, SWT.NONE );
	rowArea.setText( Messages.getString( "AggregationDialog.TabItem.Title.RowArea" ) ); //$NON-NLS-1$
	rowArea.setImage( CrosstabUIHelper.getImage( CrosstabUIHelper.ROWS_AREA_IMAGE ) );

	columnArea = new TabItem( tabFolder, SWT.NONE );
	columnArea.setText( Messages.getString( "AggregationDialog.TabItem.Title.ColumnArea" ) ); //$NON-NLS-1$
	columnArea.setImage( CrosstabUIHelper.getImage( CrosstabUIHelper.COLUMNS_AREA_IMAGE ) );

	return tabFolder;
}
 
源代码14 项目: birt   文件: POJOClassTabFolderPage.java
public TabItem createContents( TabFolder tabFolder )
{
	final Composite page = new Composite( tabFolder, SWT.NONE );

	GridLayout layout = new GridLayout( );
	layout.numColumns = 2;
	layout.marginHeight = 10;
	layout.verticalSpacing = 5;
	page.setLayout( layout );
	page.setLayoutData( new GridData( GridData.FILL_BOTH ) );

	TabItem tabItem = new TabItem( tabFolder, SWT.NONE );
	tabItem.setControl( page );

	createComposite( page );

	return tabItem;
}
 
源代码15 项目: birt   文件: TabDialog.java
/**
 * Creates and returns the contents of the upper part of this dialog (above
 * the button bar).
 * <p>
 * The <code>TabDialog</code> overrides this framework method to create and
 * return a new <code>Composite</code> with an empty tab folder.
 * </p>
 * 
 * @param parent
 *            the parent composite to contain the dialog area
 * @return the dialog area control
 */
protected Control createDialogArea( Composite parent )
{
	Composite composite = (Composite) super.createDialogArea( parent );
	TabFolder tabFolder = new TabFolder( composite, SWT.TOP );
	tabFolder.setLayoutData( new GridData( GridData.FILL_BOTH ) );
	addTabPages( ); // add pages
	for ( Iterator<TabPage> iterator = tabList.iterator( ); iterator.hasNext( ); )
	{
		TabPage page = iterator.next( );
		TabItem tabItem = new TabItem( tabFolder, SWT.NONE );
		tabItem.setControl( page.createControl( tabFolder ) );
		tabItem.setText( page.getName( ) );
	}
	return composite;
}
 
源代码16 项目: ermaster-b   文件: AbstractRealColumnDialog.java
@Override
protected Composite createRootComposite(Composite parent) {
	this.tabFolder = new TabFolder(parent, SWT.NONE);

	this.tabItem = new TabItem(this.tabFolder, SWT.NONE);
	this.tabItem.setText(ResourceString.getResourceString("label.basic"));

	Composite composite = super.createRootComposite(this.tabFolder);
	this.tabItem.setControl(composite);

	this.tabItem = new TabItem(this.tabFolder, SWT.NONE);
	this.tabItem.setText(ResourceString.getResourceString("label.detail"));

	Composite detailComposite = this.createDetailTab(this.tabFolder);
	this.initializeDetailTab(detailComposite);
	this.tabItem.setControl(detailComposite);

	return composite;
}
 
源代码17 项目: nebula   文件: PropertyTableSnippet.java
/**
 * @param args
 */
public static void main(final String[] args) {

	Locale.setDefault(Locale.ENGLISH);

	final Display display = new Display();
	final Shell shell = new Shell(display);
	shell.setText("PropertyTable snippet");
	shell.setLayout(new FillLayout(SWT.VERTICAL));

	final TabFolder tabFolder = new TabFolder(shell, SWT.BORDER);

	final TabItem item1 = new TabItem(tabFolder, SWT.NONE);
	item1.setText("First");
	item1.setControl(buildPropertyTable(tabFolder, true, true, true));

	final TabItem item2 = new TabItem(tabFolder, SWT.NONE);
	item2.setText("Second");
	item2.setControl(buildPropertyTable(tabFolder, false, true, false));

	final TabItem item3 = new TabItem(tabFolder, SWT.NONE);
	item3.setText("Third");
	item3.setControl(buildPropertyTable(tabFolder, true, false, true));

	final TabItem item4 = new TabItem(tabFolder, SWT.NONE);
	item4.setText("Forth");
	item4.setControl(buildPropertyTable(tabFolder, true, false, false));

	shell.setSize(800, 600);
	shell.open();
	SWTGraphicUtil.centerShell(shell);

	while (!shell.isDisposed()) {
		if (!display.readAndDispatch()) {
			display.sleep();
		}
	}

	display.dispose();
}
 
源代码18 项目: neoscada   文件: InterfacesTab.java
@Override
public void createTab ( final TabFolder tabFolder )
{
    this.item = new TabItem ( tabFolder, SWT.NONE );
    this.item.setText ( Messages.InterfacesTab_TabItem_Label );

    this.viewer = new ListViewer ( tabFolder );
    this.item.setControl ( this.viewer.getControl () );
    this.viewer.setContentProvider ( new ArrayContentProvider () );
}
 
源代码19 项目: neoscada   文件: PrivilegeTab.java
@Override
public void createTab ( final TabFolder tabFolder )
{
    this.display = tabFolder.getDisplay ();
    this.item = new TabItem ( tabFolder, SWT.NONE );
    this.item.setText ( "Privileges" );

    this.viewer = new ListViewer ( tabFolder );

    this.viewer.setContentProvider ( new ObservableSetContentProvider () );

    this.item.setControl ( this.viewer.getControl () );
}
 
源代码20 项目: neoscada   文件: EventHistorySearchDialog.java
@Override
protected Control createDialogArea ( final Composite parent )
{
    // initialize header area
    setTitle ( Messages.search_for_events );
    setMessage ( Messages.search_for_events_description );
    // setHelpAvailable ( true );

    // initialize content
    final Composite rootComposite = (Composite)super.createDialogArea ( parent );

    String filterString = ""; //$NON-NLS-1$
    if ( this.initialFilter != null && this.initialFilter.second != null )
    {
        filterString = this.initialFilter.second;
    }

    final TabFolder tabFolder = new TabFolder ( rootComposite, SWT.NONE );

    // create tabs
    for ( final FilterTab tab : getFilterTabs () )
    {
        final TabItem tabItem = new TabItem ( tabFolder, SWT.NONE );
        tabItem.setText ( tab.getName () );
        tabItem.setControl ( tab.createControl ( tabFolder, this, SWT.NONE, filterString ) );
    }

    final GridData layoutData = new GridData ();
    layoutData.horizontalAlignment = GridData.FILL;
    layoutData.grabExcessHorizontalSpace = true;
    layoutData.verticalAlignment = GridData.FILL;
    layoutData.grabExcessVerticalSpace = true;
    tabFolder.setLayoutData ( layoutData );

    selectInitialFilterPage ( tabFolder );

    return rootComposite;
}
 
源代码21 项目: neoscada   文件: NativeTabProvider.java
private int findIndex ( final int index )
{
    final TabItem[] items = this.folder.getItems ();
    for ( int i = 0; i < items.length; i++ )
    {
        final TabItem item = items[i];
        final int order = (Integer)item.getData ( "order" );
        if ( order > index )
        {
            return i;
        }
    }
    return -1;
}
 
源代码22 项目: BiglyBT   文件: SubscriptionWizard.java
private Composite createCreateComposite(Composite parent) {
	Composite composite = new Composite(parent,SWT.NONE);

	FillLayout layout = new FillLayout();
	layout.marginHeight = 8;
	layout.marginWidth  = 8;

	composite.setLayout(layout);

	createTabFolder = new TabFolder(composite,SWT.NONE);
	createTabFolder.setFont(subTitleFont);

	createSearchTabItem = new TabItem(createTabFolder,SWT.NONE);
	createSearchTabItem.setText(MessageText.getString("Wizard.Subscription.create.search"));
	createSearchTabItem.setControl(createCreateSearchComposite(createTabFolder));

	createRSSTabItem = new TabItem(createTabFolder,SWT.NONE);
	createRSSTabItem.setText("  " + MessageText.getString("Wizard.Subscription.create.rss"));
	createRSSTabItem.setControl(createCreateRSSComposite(createTabFolder));

	createTabFolder.addListener(SWT.Selection, new Listener() {
		@Override
		public void handleEvent(Event event) {
			TabItem[] selectedItems = createTabFolder.getSelection();
			if(selectedItems.length != 1) {
				return;
			}
			TabItem selectedItem = selectedItems[0];
			if(selectedItem == createRSSTabItem) {
				setMode(MODE_CREATE_RSS);
			} else {
				setMode(MODE_CREATE_SEARCH);
			}
		}
	});

	return composite;
}
 
源代码23 项目: Pydev   文件: AnalysisPreferencesPage.java
/**
 * @param tabFolder
 * @return
 */
private Composite createTab(TabFolder tabFolder, String tabText) {
    TabItem item1 = new TabItem(tabFolder, SWT.NULL);
    item1.setText(tabText);
    Composite p1 = new Composite(tabFolder, SWT.NONE);
    p1.setLayoutData(new GridData(GridData.FILL_BOTH));
    item1.setControl(p1);
    return p1;
}
 
源代码24 项目: tm4e   文件: GrammarPreferencePage.java
/**
 * Create "Content type" tab
 * 
 * @param folder
 */
private void createContentTypeTab(TabFolder folder) {
	TabItem tab = new TabItem(folder, SWT.NONE);
	tab.setText(TMUIMessages.GrammarPreferencePage_tab_contentType_text);

	Composite parent = new Composite(folder, SWT.NONE);
	parent.setLayout(new GridLayout());
	parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

	contentTypesWidget = new ContentTypesBindingWidget(parent, SWT.NONE);
	contentTypesWidget.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

	tab.setControl(parent);
}
 
源代码25 项目: tm4e   文件: GrammarPreferencePage.java
/**
 * Create "Injection" tab
 * 
 * @param folder
 */
private void createInjectionTab(TabFolder folder) {
	TabItem tab = new TabItem(folder, SWT.NONE);
	tab.setText(TMUIMessages.GrammarPreferencePage_tab_injection_text);

	Composite parent = new Composite(folder, SWT.NONE);
	parent.setLayout(new GridLayout());
	parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

	// TODO: manage UI injection

	tab.setControl(parent);
}
 
源代码26 项目: tm4e   文件: LanguageConfigurationInfoWidget.java
private TabItem createTab(TabFolder folder, String title) {
	TabItem tab = new TabItem(folder, SWT.NONE);
	tab.setText(title);

	Composite parent = new Composite(folder, SWT.NONE);
	parent.setLayout(new GridLayout());
	parent.setLayoutData(new GridData(GridData.FILL_BOTH));
	tab.setControl(parent);

	return tab;
}
 
源代码27 项目: ermaster-b   文件: ValidatableTabWrapper.java
public ValidatableTabWrapper(AbstractDialog dialog, TabFolder parent,
		int style, String title) {
	super(parent, style);

	this.dialog = dialog;

	this.tabItem = new TabItem(parent, style);
	this.tabItem.setText(ResourceString.getResourceString(title));

	this.tabItem.setControl(this);
}
 
源代码28 项目: xds-ide   文件: EditSdkDialogTabAbstract.java
protected EditSdkDialogTabAbstract(TabFolder tabFolder, EditSdkDialog editSdkDialog) {
    super(tabFolder, SWT.NONE);
    this.editSdkDialog = editSdkDialog;
    tabItem = new TabItem(tabFolder, SWT.NULL);
    tabItem.setText(getTabName());
    tabItem.setControl(this);
    createTabControls();
}
 
源代码29 项目: xtext-xtend   文件: FormatterModifyDialog.java
private final void addTabPageNewAPI(String title, IModifyDialogTabPage tabPage) {
	final TabItem tabItem = new TabItem(fTabFolder, SWT.NONE);
	applyDialogFont(tabItem.getControl());
	tabItem.setText(title);
	tabItem.setData(tabPage);
	tabItem.setControl(tabPage.createContents(fTabFolder));
	fTabPages.add(tabPage);
}
 
源代码30 项目: LogViewer   文件: LogViewer.java
private TabItem getSelectedItem() {
    TabItem items[] = tabfolder.getSelection();
    if(items.length > 0) {
        return items[0];
    } else {
        return null;
    }
}
 
 类所在包
 同包方法