Table of Contents
One way to organize a plugin project is to design the software as if it were a "stand alone" application, with three exceptions:
The plugin can access the View object with which it is associated, as well as static methods of the jEdit class, to obtain and manipulate various data and host application objects;
If the plugin has visible components, they are ultimately contained in a JPanel object instead of a top-level frame window; and
The plugin implements the necessary elements of the jEdit plugin API that were outlined in the last chapter: a plugin core class, perhaps a number of plugin window classes, maybe a plugin option pane class, and a set of required plugin resources.
Not every plugin has configurable options; some do not have a visible window. However, all will need a plugin core class and a minimum set of other resources.
We will now illustrate this approach by introducing an example plugin.