In fact, if you start with a class that defines an AWT component, it is easy to modify that class to make it a JavaBean. Note that there are Beans that are not meant to be visible, and they are referred to as invisible Beans. They are identical to other JavaBeans except that they have no GUI representation. Invisible Beans may still be represented visually in a builder tool, and they may be customized within that tool. A Look at Properties Properties are analogous to instance variables inside of objects.
Event handlers are analogous to behaviors or methods defined for objects.
The main difference is that properties and events are exposed to builder tools to enable visual manipulation of beans. Values assigned to properties can be modified at design time. Similarly you can visually select event handlers from list boxes to link the events generated by one Bean to corresponding event handlers available in another Bean. When you define properties in a Bean, you typically declare them as private types. Then, so that other Beans and applications can access these properties, you define public get and set methods for each property.