0% found this document useful (0 votes)
91 views24 pages

Javabean

Java Beans are reusable software components written in Java that can be visually manipulated in builder tools. They allow for connection and configuration of components to bring engineering methods to software engineering. The JavaBeans API provides frameworks for defining reusable, embeddable, modular components through features like GUI merging, persistence, event handling, and introspection to support application builders.

Uploaded by

Sid Patel
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views24 pages

Javabean

Java Beans are reusable software components written in Java that can be visually manipulated in builder tools. They allow for connection and configuration of components to bring engineering methods to software engineering. The JavaBeans API provides frameworks for defining reusable, embeddable, modular components through features like GUI merging, persistence, event handling, and introspection to support application builders.

Uploaded by

Sid Patel
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Java Beans

Definitions
A reusable software component that can be manipulated visually in a builder tool. (from JavaBean Specification) The JavaBeans API provides a framework for defining reusable, embeddable, modular software components.

Intro to JavaBeans
What are JavaBeans?

Software components written in Java Connect and Configure Components Builder Tools allow connection and configuration of Beans Begins Age of Component Developer Bringing Engineering methods to Software Engineering (e.g. electronics)

The JavaBeans API


Features implemented as extensions to standard Java Class Library Main Component Services

GUI merging Persistence Event Handling Introspection Application Builder Support

User Interface Merging


Containers usually have Menus and/or toolbars Allows components to add features to the menus and/or toolbars Define mechanism for interface layout between components and containers

Persistence
Components can be stored and retrieved Default inherit serialization Can define more complex solutions based on needs of the components

Event Handling
Defines how components interact Java AWT event model serves as basis for the event handling APIs Provides a consistent way for components to interact with each other

Introspection
Defines techniques so components can expose internal structure at design time Allows development tools to query a component to determine member variables, methods, and interfaces Standard naming patterns used Based on java.lang.reflect

Application Builder Support


Provides support for manipulating and editing components at design time Used by tools to provide layout and customizing during design Should be separate from component Not needed at run time

Creating a JavaBean
Requirements for a simple Bean Packaging Bean in a JAR file Additional Information BeanInfo Defining property editors Defining Bean customizers Naming Conventions

Bean NON Requirements


No Bean Superclass Visible interface not required

Invisible Beans (timer, random number generator, complex calculation)

Bean Requirements
Introspection

Exports: properties, methods, events


Subset of components internal state Invoked to execute component code Notification of a change in state User activities (typing, mouse actions, )

Properties

Methods

Events (If any needed)


Bean Requirements
Customization

Developer can change appearance

Persistence

Save current state so it can be reloaded

Other properties
Indexed properties

Array value with get and set elements

Bound properties

Triggers event when value changed


Triggers event when value changes and allows listeners to veto the change

Constrained properties

BeanInfo class
Provides more information using FeatureDescripter objects Subclasses:

BeanDescripter, PropertyDescripter, IndexedPropertyDescripter, EventSetDescripter, MethodDescripter, ParameterDescripter

BeanInfo class
ICON to represent Bean Customizer Class (wizard for set up) Property Editor references List of properties with descriptions List of methods with descriptions Method to reset properties to defaults

The beanbox
Primary task is setting property values Property editors for common types

Set Set Set Set

Font background/foreground colors numeric values string values

Creating a Bean
Usually extends Canvas (New window) Can extend Component (lightweight) Needs constructor with no arguments Paint() method used to display getPreferredSize(), getMinimumSize()

For layout manager defaults

get and set methods for each property

Packaging the Bean


Create a JAR file (JavaARchive)

Patterned after tar utility

Create stub manifest

Name: smith/proj/beans/BeanName.class Java-Bean: True (forward slashes even under Windows!)

Installing the Bean


Beanbox: copy jar file to /jars directory within the BDK directory Different depending on tool used

Some Naming Conventions


Beans

Class name: any Constructor: no argument or serialized template file Packaging: jar file with Java-Bean: True

More Naming Conventions


Properties

Get and set using property name Property name: message


public String getMessage()
Public void setMessage(String s)

More Naming Conventions


Events

Event name: Answer


Class name: AnswerEvent

Listener name: AnswerListener


Listener methods:

public void methodname(AnswerEvent e) public void addAnswerListener(AnswerListener l) public void removeAnswerListener( l)

Demo of IBMs VisualAge Tool


VisualAge for Java Version 1.0

You might also like