Javabeans The Component Model in Java
Javabeans The Component Model in Java
Capture business
Client Network
•
logic or state JSP JavaBean Servlet
(outputs data) (carries) (produces data)
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
A reusable component in Java Beans’ core features
Class
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
Bean’s features: Properties (2) Bean’s features: Properties (3)
! Simple - A single-value bean
! Specification suggests to have ‘getters’ and property whose changes are P
‘setters’ independent of changes in any other
! public String getFirst_name() { property
! ! return first_name;
! }
! Indexed - A bean property that {P}
supports a range of values
! public void setFirst_name(String first_name) {
! ! this.first_name = first_name;
! Bound - A bean property for which
! } a change to the property results in a
notification being sent to some
P P’ ! JavaBean
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
Bean’s features: Event model (1) Bean’s features: Event model (2)
! Fire (send) / handle (receive) notification ! Write event class
Event Action
Components broadcast events - Create your own custom event class named <NAME>Event or
use an existing event class, e.g. ActionEvent
and the underlying framework ActionEvent e;
delivers the events to the
components to be notified java.awt.event.MouseEvent ! Write event listener (handler, receiver)
- write <NAME>Listener interface and provide implementation of it
! Sources File Edit Window
or reuse existing listener interfaces, e.g., ActionListener
• Define and fire events or complete handlers, so-called, adapters, e.g. MouseAdapter()
~Click!~
public class ButtonHandler implements ActionListener() {...}
• Define methods for registering
listeners Button ! Write event source bean (Event generator)
- JButton button = new JButton(“Fire”);
! Listeners - In your custom bean implement add<NAME>Listener() and
• Get notified of events Source
remove<NAME>Listener() methods. Implemented in JButton.
• Register using methods defined Events
! Register event listener Events
by sources Listener button.addActionListener( new ButtonHandler());
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
Example: Alarm Clock Example
! Properties
• Current time class AlarmClock implements Serializable {
• Alarm time public AlarmClock() {…}
• Alarm status (set/not set)
public boolean getAlarmStatus() {…}
! Events
public void setAlarmStatus(boolean value) {
• Alarm (source) …
}
…
}
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
AlarmClock AlarmEvent
Set of listeners
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
Discovering features through introspection Reminder (lecture on Java Reflection)
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java
Further topics Evaluation
Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java Mikhail Chalabine mikch@ida.liu.se JavaBeans - the Component Model in Java