<< Chapter < Page Chapter >> Page >

Making the objects distinguishable

After the code in Listing 3 has been executed, the buttons and labels are indistinguishable on the basis of the null value of their toolTipText property.

The code in Listing 4 deals with this issue. This code 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.

Listing 4 . Making the objects distinguishable.
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()

Identifying the buttons and labels

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.

Why populate this way?

This approach to population is, admittedly, a little bit of an overkill for illustrating what I want to illustrate in this program. However, I plan to usethe same fillIt method in the sample program in the next module, and it won't be an overkill there.

Display the collection

The code in Listing 2 above calls the showCollection method to display the contents of the populated LinkedList collection. The showCollection method is shown in Listing 5

Listing 5 . The showCollection method.
void showCollection(Collection ref){ Iterator iter = ref.iterator();while(iter.hasNext()){ System.out.print(((JComponent)iter.next()).getToolTipText() + " "); }//end while loopSystem.out.println(); }//end showCollection

By now, you should have no difficulty understanding the code in Listing 5 . This code gets an iterator on the incoming reference of type Collection . The code then uses that iterator to gain access to each element in succession,displaying the String value of the toolTipText property belonging to a particular object during each iteration.

Downcast is required

Note that the next method of the Iterator interface returns a reference to the next element in the collection, as type Object . (Remember, Generics were not used to populate this collection.)

In order to call the getToolTipText method on the returned reference, the reference must be downcast to type JComponent . Since both JButton and JLabel extend JComponent , and the getToolTipText method is declared in the JComponent class, it is not necessary to be concerned as to whether an object is type JButton or type JLabel to display the value of the toolTipText property. (This is an example of polymorphic behavior based on class inheritance.)

The output for the collection

The output produced by the code in Listing 2 is shown below:

Collection contentsB0 B1 L2 B3 B4 L5

By examining the "B" and "L" characters in this output, you can identify the JButton objects and the JLabel objects.

Questions & Answers

what is the stm
Brian Reply
is there industrial application of fullrenes. What is the method to prepare fullrene on large scale.?
industrial application...? mmm I think on the medical side as drug carrier, but you should go deeper on your research, I may be wrong
How we are making nano material?
what is a peer
What is meant by 'nano scale'?
What is STMs full form?
scanning tunneling microscope
how nano science is used for hydrophobicity
Do u think that Graphene and Fullrene fiber can be used to make Air Plane body structure the lightest and strongest. Rafiq
what is differents between GO and RGO?
what is simplest way to understand the applications of nano robots used to detect the cancer affected cell of human body.? How this robot is carried to required site of body cell.? what will be the carrier material and how can be detected that correct delivery of drug is done Rafiq
what is Nano technology ?
Bob Reply
write examples of Nano molecule?
The nanotechnology is as new science, to scale nanometric
nanotechnology is the study, desing, synthesis, manipulation and application of materials and functional systems through control of matter at nanoscale
Is there any normative that regulates the use of silver nanoparticles?
Damian Reply
what king of growth are you checking .?
What fields keep nano created devices from performing or assimulating ? Magnetic fields ? Are do they assimilate ?
Stoney Reply
why we need to study biomolecules, molecular biology in nanotechnology?
Adin Reply
yes I'm doing my masters in nanotechnology, we are being studying all these domains as well..
what school?
biomolecules are e building blocks of every organics and inorganic materials.
anyone know any internet site where one can find nanotechnology papers?
Damian Reply
sciencedirect big data base
Introduction about quantum dots in nanotechnology
Praveena Reply
what does nano mean?
Anassong Reply
nano basically means 10^(-9). nanometer is a unit to measure length.
do you think it's worthwhile in the long term to study the effects and possibilities of nanotechnology on viral treatment?
Damian Reply
absolutely yes
how to know photocatalytic properties of tio2 nanoparticles...what to do now
Akash Reply
it is a goid question and i want to know the answer as well
characteristics of micro business
for teaching engĺish at school how nano technology help us
How can I make nanorobot?
Do somebody tell me a best nano engineering book for beginners?
s. Reply
there is no specific books for beginners but there is book called principle of nanotechnology
how can I make nanorobot?
what is fullerene does it is used to make bukky balls
Devang Reply
are you nano engineer ?
fullerene is a bucky ball aka Carbon 60 molecule. It was name by the architect Fuller. He design the geodesic dome. it resembles a soccer ball.
what is the actual application of fullerenes nowadays?
That is a great question Damian. best way to answer that question is to Google it. there are hundreds of applications for buck minister fullerenes, from medical to aerospace. you can also find plenty of research papers that will give you great detail on the potential applications of fullerenes.
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?