我想为我的应用程序创建一个“新项目”向导。该向导的第一页只是org.eclipse.ui.dialogs.WizardNewProjectCreationPage的实例。我想在第二个向导页面中将一些系统文件导入当前项目。我发现org.eclipse.ui.dialogs.WizardResourceImportPage与我的思想非常接近,但是我无法弄清楚如何继承此类并产生一个简单的文件导入页面。
谁能提供一个这样做的例子?谢谢!
我也尝试像下面那样测试它(也覆盖了getFileProvider),但是文件树仅显示复选框,而没有文件名。
protected ITreeContentProvider getFolderProvider()
{
// TODO Auto-generated method stub
return new WorkbenchContentProvider()
{
public Object[] getChildren( Object o )
{
if ( o instanceof java.io.File )
return FileSystemStructureProvider.INSTANCE.getChildren( o ).toArray();
else
return new Object[]{new java.io.File("C:\\temp")};
}
public boolean hasChildren( Object o )
{
if ( o instanceof java.io.File )
return FileSystemStructureProvider.INSTANCE.isFolder( o );
else
return false;
}
};
}
最佳答案
WizardResourceImportPage
是抽象的,您可以扩展它并实现三个抽象方法。我来看看WizardFileSystemResourceImportPage1
,它是WizardResourceImportPage
的有效实现,可以研究该代码,也可以将源代码从该类复制并粘贴到我自己的源代码中。
编辑
您从上面的示例仅显示空白标签,因为WizardResourceImportPage
使用WorkbenchLabelProvider
,并且如果'content'对象(在您的情况下为""
)不适用,则此标签提供程序将返回File
。
查看createFileSelectionGroup
方法。也许足以为LabelProvider
对象实现自己的File
并调用selectionGroup.setTreeProviders(ITreeContentProvider, ILabelProvider)
以使其与树中的File
项目一起使用。标准实现似乎仅适用于(Eclipse)文件资源。
关于java - 如何继承类WizardResourceImportPage?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3486721/