To add simple properties to a bean, add appropriate
getXXX
andsetXXX
methods (orisXXX
andsetXXX
methods for a boolean property).The names of these methods follow specific rules called design patterns. These design pattern-based method names allow builder tools such as the NetBeans GUI Builder, to provide the following features:
- Discover a bean's properties
- Determine the properties' read/write attributes
- Determine the properties' types
- Locate the appropriate property editor for each property type
- Display the properties (usually in the Properties window)
- Alter the properties (at design time)
In previous lessons you learned how to create a simple property by using the NetBeans GUI Builder. The following procedure shows how to create a simple property in detail:
- Right-click on the Bean Patterns node in the
MyBean
class hierarchy.- Select Add|Property from the pop-up menu.
- Fill out the New Property Pattern form as shown in the following figure and click OK.
- The following code is automatically generated:
public class MyBean { /** Creates a new instance of MyBean */ public MyBean() { } /** * Holds value of property title. */ private String title; /** * Getter for property title. * @return Value of property title. */ public String getTitle() { return this.title; } /** * Setter for property title. * @param title New value of property title. */ public void setTitle(String title) { this.title = title; } }- Now make your bean visual by extending the
JComponent
class and implement theSerializable
interface. Then, add thepaintComponent
method to represent your bean.import java.awt.Graphics; import java.io.Serializable; import javax.swing.JComponent; /** * Bean with a simple property "title". */ public class MyBean extends JComponent implements Serializable { private String title; public String getTitle() { return this.title; } public void setTitle( String title ) { this.title = title; } protected void paintComponent( Graphics g ) { g.setColor( getForeground() ); int height = g.getFontMetrics().getHeight(); if ( this.title != null ) g.drawString(this.title, 0, height ); } }
Select the MyBean component in the Other Components node in the Inspector window. Now you can analyze the title property in the Properties window and change it. To change the title property press the "..." button and enter any string you wish.
The following figure represents the title property set to the "The title" value.
The NetBeans GUI Builder enables you to restrict the changing of a property value. To restrict the changing of the title property, right-click the title property in the Bean Patterns node of the MyBean project. Select Properties from the pop-up menu and the Properties window appears. Choose one of the following property access types from the Mode combo box:
- Read/Write
- Read only
- Write only
The Read only property has only the
get
method only, while the Write only property has only theset
method only. The Read/Write type property has both of these methods.