<< Chapter < Page | Chapter >> Page > |
A couple of points regarding the fillIt method (shown in Listing 4 ) are worthy of note.
Listing 4 . The fillIt method. |
---|
public static void fillIt(Collection ref){
ref.add(new JButton());ref.add(new JButton());
ref.add(new JLabel());ref.add(new JButton());
ref.add(new JButton());ref.add(new JLabel());
Iterator iter = ref.iterator();int cnt = 0;
JComponent refVar;while(iter.hasNext()){
refVar = (JComponent)iter.next();if(refVar instanceof JButton){
refVar.setToolTipText("B"+cnt++);}else{
refVar.setToolTipText("L" + cnt++);}//end else
}//end while loop}//end fillIt() |
The fillIt method begins by calling the add method six times in succession, passing references to new anonymous objects (of types JButton and JLabel) as a parameter to the add method.
Four of the objects are instantiated from the class named JButton . The other two objects are instantiated from the class named JLabel .
Both JButton and JLabel belong to the javax.swing package. Further, both are subclasses of the class named JComponent .
Finally, both classes have a property named toolTipText , which can be set and accessed by calling the following methods on a reference to the object:
void setToolTipText(String text)
String getToolTipText()
I chose to use objects of these two classes for illustration purposes simply because they possess the characteristics that I need for this module. Thosecharacteristics are:
After adding the objects' references to the collection, the code in Listing 4 uses the setToolTipText method to store a unique String value in the toolTipText property of the object referred to by each of the elements in the collection.
In addition to storing a unique value in the toolTipText property of the object referred to by each element, the code in Listing 4 also makes it possible to distinguish between the JButton objects and the JLabel objects. This is accomplished by including an upper-case "B" in the propertyvalue for each JButton , and including an upper-case "L" in the property value for each JLabel button.
The code in Listing 3 above calls the showCollection method to display the contents of the populated LinkedList collection. The output produced by the code in Listing 3 is shown below:
Collection contents
B0 B1 L2 B3 B4 L5
Each term in the output is the String value of the toolTipText property for a particular object. Hence, there are six terms in the output, onefor each element in the collection.
Having completed the preliminaries, we have now reached the point that is the main thrust of this module.
The code in Listing 5 shows how to use the more-complex version of the toArray method to copy the elements in the collection into an array.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?