J provides a mechanism to support arbitrary user extensions. You can add a line like this to your preferences file:
SampleExtensionis the name of a class you've written, compiled, and placed in
C:\.j. The class must provide the method
public void run( ), and the class itself must be declared
public. If these conditions are met, your class will be loaded when the editor starts up and the
runmethod will be invoked.
One problem you're likely to run into with this is that any editor method or
member variable referenced in your extension class must be explicitly declared
public in the editor source; otherwise you'll get an
IllegalAccessException. The short-term solution to this is to
hack the editor source and make the thing
public; the long-term
solution is to tell me about it so
that I can make sure it stays
public in the future.
The easiest way to write your extension class is to develop and debug it in the
src directory; the loader will pick it up from
there, so you don't have to copy it into
~/.j every time you
compile it. When you're done you should move it into
delete any extraneous copies.
Strictly speaking, your extension class does not have to live in
C:\.j. You can also specify the fully
qualified pathname of your extension's
.class file in your
preferences file, like this:
extension=/home/peter/SampleExtension.classIn this case you must specifically append the
.classextension, as shown in the example.