How do I obtain a source file for a Java class and open it in the editor?

Apache NetBeans Wiki Index

Note: These pages are being reviewed.

Sometimes it is necessary to open source code for a Java file from your NetBeans plug-in. The source code may be located in the currently open projects, in a library or in the platform JRE. It is assumed that libraries and platform JRE have associated sources in your environment. The associations are configured from the Tools > Libraries and Tools > Java Platform menu items.

Here is an example of how to find a FileObject corresponding to the class javax.swing.JComponent:

String classResource = "javax/swing/JComponent.java";
for (FileObject curRoot : GlobalPathRegistry.getDefault().getSourceRoots()) {
    FileObject fileObject = curRoot.getFileObject(classResource);
    if (fileObject != null) {
        // source file object found
        // do something, e.g. openEditor(fileObject, lineNumber);
        return;
    }
}

In the if block you can do something with the source file you found. For example, you can open it in the Java editor. DevFaqOpenFileAtLine describes how.