choosePackage(packageを選択する機能)(E l e m e n t ListSelectionDialogダイアログボックス)
1324 ワード
Eclipseでは、新しいClass、Interfaceなどのウィザードページ(org.eclipse.jdt.ui.wizards.NewTypeWizardPage)のbrowse packageの機能は、次のコードで実現されます.ここでは、ElementListSelectionDialogクラスに注意してください.コードを直接見てみましょう.
protected IPackageFragment choosePackage() {
IPackageFragmentRoot froot= getPackageFragmentRoot();;// src
IJavaElement[] packages= null;
try {
if (froot != null && froot.exists()) {
packages= froot.getChildren();
}
} catch (JavaModelException e) {
JavaPlugin.log(e);
}
if (packages == null) {
packages= new IJavaElement[0];
}
ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
dialog.setIgnoreCase(false);
dialog.setTitle(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_title);
dialog.setMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_description);
dialog.setEmptyListMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_empty);
dialog.setElements(packages);//
dialog.setHelpAvailable(false);
IPackageFragment pack= getPackageFragment();
if (pack != null) {
dialog.setInitialSelections(new Object[] { pack });//
}
if (dialog.open() == Window.OK) {
return (IPackageFragment) dialog.getFirstResult();
}
return null;
}