<< Chapter < Page Chapter >> Page >
(In case you are wondering what happened to the mouseMoved and mouseDragged methods, they are defined in the MouseMotionListener interface instead of the MouseListener interface.)

Add the button to the frame

Finally, the last statement in Listing 8 adds the new button to the Frame as the rightmost button in Figure 2 .

A disclaimer

I wrote this code the way that I did in Listing 8 to illustrate an anonymous class that implements an interface. In real life, I wouldprobably cause the anonymous class to extend the MouseAdapter class and override the mouseClicked method instead of implementing the MouseListener interface. That would eliminate the requirement for me to define the four empty methods in Listing 8 .

Extending the WindowAdapter class

The above disclaimer provides a perfect lead-in to the definition of the anonymous class shown in Listing 9 .

Registering a WindowListener on the Frame

The code in Listing 9 instantiates an anonymous object of an anonymous class that extends the WindowAdapter class.

That anonymous object is registered as a WindowListener on the Frame by passing the object's reference to the addWindowListener method belonging to the Frame .

(The addWindowListener method requires an incoming parameter of type WindowListener . This is satisfied by the fact that the WindowAdapter class implements the WindowListener interface. Thus, an object instantiated from a class that extends WindowAdapter can also be treated as type WindowListener .)

The screen output

This anonymous class definition uses an instance initializer to get and display the name of the class that represents theanonymous class. Thus, when the anonymous object of the anonymous class is instantiated, the text shown in Figure 8 appears on the screen.

(In an earlier module explaining member classes, I told you that it is possible to examine the names of the class files thatrepresent the member classes and to determine quite a lot about the structure of the program in terms of which classes are members of which other classes.However, in the case of local classes and anonymous classes, about all that you can determine from the name of the class file is that the file either representsa local class or represents an anonymous class (see the summary of class names in Figure 3 ).)

The windowClosing method

The code in Listing 9 overrides the windowClosing method inherited from the WindowAdapter class.

Clicking the close button with the X in the upper right hand corner of Figure 2 causes the windowClosing method to be called on any WindowListener objects that have been registered on the frame.

In this case, the overridden windowClosing method in Listing 9 causes the lastline of text in Figure 4 to be displayed on the screen.

Following that, the overridden windowClosing method calls the System.exit method to terminate the program.

The remaining code

The remaining code in Listing 9

  • Causes the frame to become visible
  • Signals the end of the constructor
  • Signals the end of the GUI class

The GUI remains on the screen until terminated

Once the constructor is executed, the GUI simply remains on the screen waiting for someone to click oneof the buttons or to click the close button in the upper right corner of the frame. When these buttons are clicked, the event handlers are called,causing text such as that shown in Figure 9 to appear on the screen.

Questions & Answers

what is phylogeny
Odigie Reply
evolutionary history and relationship of an organism or group of organisms
AI-Robot
ok
Deng
what is biology
Hajah Reply
the study of living organisms and their interactions with one another and their environments
AI-Robot
what is biology
Victoria Reply
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
lack electricity and its more savely than electronic microscope because its naturally by using of light
Abdullahi Reply
advantage of electronic microscope is easily and clearly while disadvantage is dangerous because its electronic. advantage of light microscope is savely and naturally by sun while disadvantage is not easily,means its not sharp and not clear
Abdullahi
cell theory state that every organisms composed of one or more cell,cell is the basic unit of life
Abdullahi
is like gone fail us
DENG
cells is the basic structure and functions of all living things
Ramadan
What is classification
ISCONT Reply
is organisms that are similar into groups called tara
Yamosa
in what situation (s) would be the use of a scanning electron microscope be ideal and why?
Kenna Reply
A scanning electron microscope (SEM) is ideal for situations requiring high-resolution imaging of surfaces. It is commonly used in materials science, biology, and geology to examine the topography and composition of samples at a nanoscale level. SEM is particularly useful for studying fine details,
Hilary
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




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?

Ask