You can use many kinds of beans to construct program elements. All beans exist as either primitives or composites. Primitive beans are the basic building blocks from which composites are constructed. You must construct new primitive beans using a programming language because there are no similar beans to use in building them. Primitive beans can be either visual or nonvisual.
Visual beans are elements of the program that the user can see at run time. The development-time representations of visual beans in the Visual Composition Editor closely match their runtime visual forms. Users can edit these beans in the Visual Composition Editor in their visual runtime forms. Examples include windows, entry fields, and push buttons. In general, visual beans are subclasses of java.awt.Component.
Nonvisual beans are elements of the program that are not necessarily seen by the user at run time. On the Visual Composition Editor's free-form surface, users can manipulate these beans only as icons. Examples include business logic, database queries, and communication access protocol beans.
Beans that have a visual representation at run time but do not support visual editing are treated as nonvisual. Examples of this kind of nonvisual bean include message boxes and file selection dialogs.
Composite beans can contain both visual and nonvisual components. In general, composite beans are based on one of these classes, but you are by no means limited to these:
How Classes and Beans Are Related
Visual Composition Editor Overview
Incorporating User-Written Code into Visual Composites