The difference between PJC (Pluggable Java Components) and Java Beans in Forms

PJC extend the functionality of already implemented objects like buttons, text-fields, radio-groups etc.
Java Beans can contain every Java-Program. That means if you need to implement a super-text-field, that
automatically changes the color every 10 seconds (very useful) then you would implement an PJC.
If you implement an calendar or Slider-Control then you would implement a Java-Bean.

In Java a class that extends a Text-Field (=PJC) would look like this...

public class ColorField extends VTextField{
...
..
.

A Java-Bean would look like this

public class SuperCalendar extends VBean{
...
..
.

Communication to the class can be done with "SET_CUSTOM_PROPERTY" from forms.
If you want to communicate with Forms you have to "dispatch" an event like this:

ID fpropNoString = ID.registerProperty("ERR_NO_STRING_PASSED");
CustomEvent vCustomEvent = new StdEvent(pHandler, fpropNoString);
dispatchCustomEvent(vCustomEvent);

But JUST Java-Beans are able to dispatch events! PJC are not able to dispatch events, that shall be
implemented in future releases. I thinkt that is a big disadvantage of PJCs.