returns the definition of an option:
-option=something : getDefinition("-option") returns "something"
returns null if the option is not defined and "" if the definition
string is empty
-option = something ; -option= something ; -option =something are not recognized

the shared instance of this class ; shared since its
only purpose is to draw an image ; I adopt here a weak
programming model, namely the icons are assumed not to
be modified by a process while the instance is rendering
them, or updating the size information.

J

JavaFinder
a java source finder: works on the class path and
the property java.source.path which contains
path to java source like CLASSPATH
The property is given to the program via the command line
with the option -Djava.source.path=...

syntax of the class passed in argument:
class Data {
### all members should be declared public, otherwise they may not be read or written
static String name1; => name1 is the resource name and the default value
static String name2="default"; => here the default value is given
static Icon name3; => name3 is the resource name for an icon object
default is name3.gif
### String resources are defined as: resourceName.name=...

easy solution:
return new Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource(iconPath+name));
but java crashes sometimes:
Uncaught error fetching image:
java.lang.NullPointerException
at java.net.URLConnection.guessContentTypeFromStream(URLConnection.java)
at sun.net.www.URLConnection.getContentType(URLConnection.java:126)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:98)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:259)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:151)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:127)
so we do the job in another way: load the data and create an image from the data

unused methods of listeners
I prefer to use this method instead of using the
"empty" listener provided by Sun, which we should
extend, imagine, you download two classes just for
a simple listener, and you have to pass arguments
to have access to what you want.

we want to do something for Enumeration, but the problem is that
when we use one , then we consume it and we can not use any more,
for this reason, we have this special function which produces one
copy and prints an Enumeration to the given PrintStream
the boolean tells whether to replace sub-enumeration objects by copies
or not, and thus to print them or not
Enumeration inside Vector or arrays are not printed!

TNode : Tree Node
I create my own tree component because Java copies the nodes
without telling me when, and it copies the content of the nodes
as well, so when my other components refer to these nodes, well,
they are not valid because they have been replaced by new ones!
Imagine the time I've lost to understand where the problem came
from, and then to implement my own tree!!!
This is my second version of tree: it is 100% swing free, only
pure java awt, which is much much faster than swing.

the icons themselves ; note that they are the same
in adavid.awt.ImageTNodeRenderer ; the difference is
that here we have Icon (which are ImageIcon in fact)
see ImageTNodeRenderer for comments on the weak programming
model

the icons themselves ; note that they are the same
in adavid.awt.ImageTNodeRenderer ; the difference is
that here we have Icon (which are ImageIcon in fact)
see ImageTNodeRenderer for comments on the weak programming
model