2013-01-19 28 views
1

http://www.google.com/url?sa=t & RCT = j的& Q = jdt_fundamentals &源=幅& CD = 1 & VED = 0CDIQFjAA & URL = HTTP%3A%2F%2Fwww.eclipsecon。有機%2F2008%2Fsub%2Fattachments%2FJDT_fundamentals.ppt「> JDT教程的示例代碼來獲得使用JDT類型層次結構。如何在JDT TypeHierarchy中設置region(= Java元素集)參數?

enter image description here

如何設置的區域(=設置Java元素的)參數? 當我有代碼A有子類B和超類C.如何設置區域?

回答

0

此代碼,我得到了暗示從this site工作正常。

IRegion region = JavaCore.newRegion(); 
for (IJavaElement i : javaProject.getPackageFragmentRoots()) 
{ 
    String elementName = i.getElementName(); 
    if (!elementName.endsWith("jar") && !elementName.endsWith("zip")) 
     region.add(i); 
    } 

    NullProgressMonitor progressMonitor = new NullProgressMonitor(); 

    // for getting a class hierarchy for type 
    ITypeHierarchy typeHierarchy= type.newTypeHierarchy(progressMonitor); 
    // for getting all the class hierarchies of the region in the project 
    ITypeHierarchy typeHierarchy= javaProject.newTypeHierarchy(region, progressMonitor); 
} 

相關 - Why I got no super classes with getAllSuperclasses() in JDT API?

1

閱讀IRegion JavadocsUsing Eclipse's JDT, how does one get an IType from a class name?後,我得到的印象,你應該能夠創建一個區域是這樣的:

final IJavaProject project = ...; 
final IProgressMonitor monitor = ...; 
final IRegion region = JavaCore.newRegion(); 
region.add(project.findType("some.packagename.B")); 
final ITypeHierarchy typeHierarchy = project.newTypeHierarchy(region, monitor);