Java Beans is the most important new development in Java this year. Beans is the next generation of Java technology that not only adds features the language lacked, but also lets Java programs interoperate with a number of development environments. The initial release includes a bridge for Microsoft's ActiveX/COM; future releases will include bridges for Netscape's LiveConnect and IBM's OpenDoc.
Since it's a "component architecture" for Java, Beans can be used in graphical programming environments, like Borland's JBuilder, or IBM's VisualAge for Java. This means that someone can use a graphical tool to connect a lot of Beans together and make an application, without actually writing any Java code -- in fact, without doing any programming at all. Graphical development environments let you configure components by specifying aspects of their visual appearance (like the color or label of a button) in addition to the interactions between components (what happens when you click on a button or select a menu item).
One important aspect of Java Beans is that components don't have to be visible. This sounds like a minor distinction, but it's very important: the invisible parts of an application are the parts that do the work. So, for example, in addition to manipulating graphical widgets, like checkboxes and menus, Beans allows you to develop and manipulate components that do database access, perform computations, and so on. You can build entire applications by connecting pre-built components, without writing any code.
Developing Java Beans is for people who need to stay up-to-date with the latest developments in programming technology. Minimally, developing Beans means adopting several simple design patterns in your code. However, that's only the beginning. To take full advantage of the Java Beans architecture, you should understand how to write classes that are serializable, use events for communication between classes, know when and how to provide BeanInfo classes that give graphical environments more information about your components, and provide property editors and customizers that let graphical tools work with more complex Beans.
The book covers:
- Events, event listeners, and adapters
- Properties, indexed properties, bound properties, constrained properties, and vetoable property changes
- Persistence, serialization, versioning, and object validation
- Packaging Beans using JAR files
- The BeanBox, a prototypical development tool
- Reflection and introspection
- Property editors and customizers
- The ActiveX bridge; using Java Beans in Visual Basic programs
Part 1 Introduction: The Component Model; The JavaBeans Architecture; JavaBeans Overview; Using Design Patterns; JavaBeans vs. ActiveX; Getting Started. Part 2 Events: The Java Event Model; Events in the AWT Package. Part 3 Event adapters: Demultiplexing; Generic Adapters; Event Adapters in the AWT Package; Event Filtering; Event Queuing. Part 4 Properties: Accessing Properties; Indexed Properties; Bound Properties; Constrained Properties; Handling Events for Specific Properties; A java.awt Example. Part 5 Persistence: Object Serialization; The java.io.Serializable Interface; Class-Specific Serialization; Walking the Class Hierarchy; Serializing Event Listeners; Versioning; Object Validation; The java.io.Externalizable Interface; Instantiating Serialized Objects. Part 6 JAR Files: The jar Program; The Manifest; Using JAR Files with HTML; Using JAR Files on the CLASSPATH; An Alternative to the jar Program. Part 7 The BeanBox Tool: Running BeanBox; Dropping Beans on BeanBox; Editing a Bean's Properties; Hooking Up Beans; Saving and Restoring the BeanBox Form; Adding Your Own Beans to BeanBox. Part 8 Putting It All Together: Defining the Temperature Control Simulator; Building the Simulator; A Sample Simulator Applet; Creating a JAR File; Recreating the Sample Using BeanBox. Part 9 Introspection: The BeanInfo Interface; Providing Additional BeanInfo Objects; Introspecting the Environment [_TOC_A_]; The BeansBook.Simulator; BeanInfo Classes 21610. Part 10 Property Editors and Customizers: Property Editors; Customizers. Part 11 ActiveX: The JavaBeans ActiveX Bridge; Technology Mapping; Using Beans in Visual Basic. Appendixes: Design Patterns; The java.beans Package.