Weitere ähnliche Inhalte
Ähnlich wie Dacj 4 2-c (20)
Kürzlich hochgeladen (20)
Dacj 4 2-c
- 1. Collaborate
Knowledge Byte
In this section, you will learn about:
• Property Sheets and Property Editor
• The PropertyEditorSupport and PropertyDescriptor Class
• The BeanInfo Interface
©NIIT Collaborate Lesson 2C / Slide 1 of 23
- 2. Collaborate
Property Sheets and Property Editor
• Property sheets and property editors enable easy access to the exposed
JavaBean properties.
• Property sheet or the Properties window of BDK displays a list of all the
exposed properties of a JavaBean.
• A property editor window is used to edit the values of JavaBean properties,
which cannot be edited in property sheets.
• The property editor is always associated with a specific JavaBean property.
• The property editor is displayed whenever an attempt is made to modify the
value of the associated JavaBean property during the build phase.
©NIIT Collaborate Lesson 2C / Slide 2 of 23
- 3. Collaborate
The PropertyEditorSupport and
PropertyDescriptor Class
• The PropertyEditorSupport Class:
• Enables you to create a text-based or a GUI based customized property
editor.
• Implements the PropertyEditor interface of the java.beans package.
• Is extended by a class to create a customized property editor.
©NIIT Collaborate Lesson 2C / Slide 3 of 23
- 4. Collaborate
The PropertyEditorSupport and
PropertyDescriptor Class (Contd.)
• The following table lists some methods of the PropertyEditorSupport Class:
Method Description
void addPropertyChangeListener( Registers a new
PropertyChangeListener pcl) PropertyChangeListener to handle
the PropertyChange events. The
method accepts an object of
PropertyChangeListener interface.
void firePropertyChange() Informs all the listeners when there
is a change in the JavaBean
property.
©NIIT Collaborate Lesson 2C / Slide 4 of 23
- 5. Collaborate
The PropertyEditorSupport and
PropertyDescriptor Class (Contd.)
• The methods of PropertyEditorSupport class: (Contd.)
Method Description
void paintValue(Graphics g, Paints a graphics object in a rectangle on the
Rectangle rec) screen area. The graphics to paint and the area in
which the graphics is painted are passed as
parameters to the paintValue() method.
boolean isPaintable() Returns a boolean value that specifies if the
JavaBean supports the paintValue() method.
void Removes a registered PropertyChangeListener
removePropertyChangeListener( from the list of listeners for the PropertyChange
PropertyChangeListener plist) events.
©NIIT Collaborate Lesson 2C / Slide 5 of 23
- 6. Collaborate
The PropertyEditorSupport and
PropertyDescriptor Class (Contd.)
• The methods of PropertyEditorSupport class: (Contd.)
Method Description
boolean Returns a boolean value that determines whether the
supportsCustomEditor() property editor object supports the custom editor or
not.
String getAsText() Returns the string value of a JavaBean property.
Component Returns a custom property editor as a component that
getCustomEditor() enables you to edit the value of JavaBean properties.
void setAsText(String Sets the value of a property to the string passed as a
text) parameter to this method.
©NIIT Collaborate Lesson 2C / Slide 6 of 23
- 7. Collaborate
The PropertyEditorSupport and
PropertyDescriptor Class (Contd.)
• The methods of PropertyEditorSupport class: (Contd.)
Method Description
String[] getTags() Returns an array of tag values that
consists of all the possible values for
a JavaBean property.
void setValue(Object value) Sets the value of a JavaBean property
to the value passed as parameter.
Object getValue() Enables you to retrieve the value of a
JavaBean property.
©NIIT Collaborate Lesson 2C / Slide 7 of 23
- 8. Collaborate
The PropertyEditorSupport and
PropertyDescriptor Class (Contd.)
• The PropertyDescriptor Class
• The PropertyDescriptor Class restricts the JavaBean properties that
are displayed in the Properties window.
• To create customized properties window, you need to create an
information class that contains information about the properties,
events, and methods of a JavaBean.
• The information class extends the SimpleBeanInfo class and have a
name ending with BeanInfo. For example,
class PropBeanInfo extends SimpleBeanInfo
{
//Class body
}
©NIIT Collaborate Lesson 2C / Slide 8 of 23
- 9. Collaborate
The PropertyEditorSupport and
PropertyDescriptor Class (Contd.)
• You also need to override the getPropertyDescriptors() method that
returns an array of PropertyDescriptor objects in the PropBeanInfo
class. For example,
public PropertyDescriptor[] getPropertyDescriptors()
{
//Method_body
}
©NIIT Collaborate Lesson 2C / Slide 9 of 23
- 10. Collaborate
The BeanInfo Interface
• The BeanInfo interface provides the methods that enable you to specify and
retrieve the information about a JavaBean.
• The following table lists some of the methods of BeanInfo interface:
Method Description
MethodDescriptor[] Returns an array of the method descriptor objects
getMethodDescriptors( of a JavaBean. The method descriptor objects are
) used to determine information about the various
methods defined in a JavaBean.
EventDescriptor[] Returns an array of the event descriptor objects of
getEventDescriptors() a JavaBean. The event descriptor objects
determine the information about the events
associated with a JavaBean.
©NIIT Collaborate Lesson 2C / Slide 10 of 23
- 11. Collaborate
The BeanInfo Interface(Contd.)
• The methods of BeanInfo interface: (Contd.)
Method Description
PropertyDescriptor[] Returns an array of the property descriptor objects
getPropertyDescriptor of a JavaBean. The property descriptor objects are
s() used to determine information about the various
custom properties of a JavaBean.
Image getIcon( int Returns a corresponding image object for one of
icon_type ) the fields of the BeanInfo interface passed as a
parameter to this method. The BeanInfo interface
defines int fields, such as ICON_COLOR_32x32 and
ICON_MONO_32x32 to represent icons.
©NIIT Collaborate Lesson 2C / Slide 11 of 23
- 12. Collaborate
From the Expert’s Desk
In this section, you will learn:
• Tips on:
• Using the sample JavaBeans of BDK1.1 in Java 2 SDKv1.4.x
• Creating a single manifest file that contains entries for multiple
JavaBeans
• FAQs on JavaBeans
©NIIT Collaborate Lesson 2C / Slide 12 of 23
- 13. Collaborate
Tips
Using the Sample JavaBeans of BDK1.1 in Java 2
SDK v 1.4.x
• The steps to use the sample JavaBeans of BDK in Java 2 SDK 1.4.x are:
• Open the C:BDK1.1beansdemosunwdemobuttons folder
using the Windows Explorer.
• Open the folder for the sample JavaBean, for example, open the
folder for ExplicitButton JavaBean that is not supported by Java 2 SDK
1.4.x.
©NIIT Collaborate Lesson 2C / Slide 13 of 23
- 14. Collaborate
Tips
Using the Sample JavaBeans of BDK1.1 in Java 2
SDK v 1.4.x (Contd.)
• Change the code in the public EventSetDescriptor[]
getEventSetDescriptors() method. For example, to load the
ExplicitButton JavaBean, you need to change the following code:
EventSetDescriptor push = new EventSetDescriptor(beanClass,
"actionPerformed", java.awt.event.ActionListener.class,
"actionPerformed");
The preceding code should be changed to the following code:
EventSetDescriptor push = new EventSetDescriptor(beanClass,
"action", java.awt.event.ActionListener.class,
"actionPerformed");
©NIIT Collaborate Lesson 2C / Slide 14 of 23
- 15. Collaborate
Tips
Using the Sample JavaBeans of BDK1.1 in Java 2
SDK v 1.4.x (Contd.)
• Compile all files of C:BDK1.1beansdemosunwdemobuttons
directory.
• Download Microsoft nmake utility to the C:BDK1.1beansbeanbox
directory from the following url:
ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
• Add the C:BDK1.1beansbeanbox directory path to your system
path.
• Go to C:BDK1.1beansdemo and type:
nmake buttons.mk
7. Run BDK. The ExplicitButton JavaBean will get loaded in the BDK.
©NIIT Collaborate Lesson 2C / Slide 15 of 23
- 16. Collaborate
Tips
Creating Manifest File for Multiple JavaBeans
• The syntax to define the entries for multiple JavaBean files in the same
manifest file is:
Name: <beanFile1.class>
Java-Bean: <status>
Name: <beanFile2.class>
Java-Bean: <status>
Name: <file3.gif>
In the preceding syntax, a blank line is left between each of the file
declarations.
©NIIT Collaborate Lesson 2C / Slide 16 of 23
- 17. Collaborate
FAQs
• What type of JavaBean will you use to display the current time in an
application?
You can display the current time in a Java application using a control
JavaBean. The control JavaBean adds a new feature to an existing Java
application.
• How can you count the number of hits for a particular Web page using
JavaBeans?
You can count the number of hits for a Web page using an invisible runtime
JavaBean. This JavaBean performs a hidden background function.
©NIIT Collaborate Lesson 2C / Slide 17 of 23
- 18. Collaborate
FAQs (Contd.)
• How would you change the foreground color of a component using
JavaBeans?
The foreground color of a component can be changed using the JavaBean
properties. You need to create a JavaBean for the component and define a
property, foreground color for the component. The setForegroundColor()
method for the JavaBean property can be used to specify and change the
value of the foreground color for the JavaBean component.
©NIIT Collaborate Lesson 2C / Slide 18 of 23
- 19. Collaborate
FAQs (Contd.)
• What is introspection?
Introspection is the process of examining the class structure of a JavaBean
and determining the properties, methods, and events supported by the
JavaBean. Introspection helps you to find only the list of methods and the
method signatures of a JavaBean. It does not help you to find the source
code of the methods and how the JavaBean functionality has been
implemented. The introspection technique is used by a programmer during
the design and build phases to identify the JavaBean functionality. The end
user will not be interested in knowing the internal functionalities of a
JavaBean.
©NIIT Collaborate Lesson 2C / Slide 19 of 23
- 20. Collaborate
FAQs (Contd.)
• Where is the manifest file of a JavaBean stored in the JAR file?
The manifest file is stored inside the directory, META-INF inside the JAR file.
• How does the compiler recognize the file to execute while running a JAR file?
When a JAR file is executed, the Main-Class entry in the manifest file
instructs the java -jar command about the class to execute. The java -jar
command enables you to execute a runnable JAR file on the command
prompt. The -jar option enables the Java Runtime Environment (JRE) to
recognize that the specified file is a runnable JAR file. The command to
execute a runnable JAR file, SampleJar.jar, on the command prompt is:
java -jar SampleJar.jar
©NIIT Collaborate Lesson 2C / Slide 20 of 23
- 21. Collaborate
Challenge
1. Select the option that allows you to view the sequence of method invocation
in BDK 1.1:
a. ToolBox Window
b. BeanBox Window
c. Method Tracer Window
d. Properties Window
• What is the use of the addPropertyChangeListener() method of the
PropertyEditorSupport class?
• Select the class that you need to use for implementing bound properties in
JavaBeans:
• PropertyChangeSupport class
• VetobaleChangeSupport class
• ProperyChangeEvent class
• PropertyDescriptor class
©NIIT Collaborate Lesson 2C / Slide 21 of 23
- 22. Collaborate
Challenge (Contd.)
• The PropertyEditorSupport class implements the __________interface.
• What is the purpose of implementing the BeanInfo interface for a JavaBean?
• The ___________enables you to modify the JavaBean properties that are
displayed in the property sheet.
©NIIT Collaborate Lesson 2C / Slide 22 of 23
- 23. Collaborate
Solutions to Challenge
• c. Method Tracer Window
• The addPropertyChangeListener() method registers a new listener to
handle the PropertyChange events.
• a. PropertyChangeSupport class
• PropertyEditor
• The BeanInfo interface enables you to provide the information about
the properties, events, and methods of a JavaBean in the JavaBean
information class.
• Property Editors
©NIIT Collaborate Lesson 2C / Slide 23 of 23