Call/WhatsApp: +1 914 416 5343

“Distance Converter”

GUI & Polymorphism
Before attempting this project, be sure you have completed all of the reading assignments, nongraded exercises, discussions, and assignments to date.
Design and implement Java program as follows:
1) Implement converter class hierarchy as follows:
a. Converter class which includes:
 Private attribute for input of data type double
 Default constructor with no parameter which sets input to Double.NaN
 Overloaded constructor with input for parameter
 Get and set methods for input attribute
 Method convert() which returns input value
b. TemperatureConverter class which is a child of Converter and includes:
 Constructors which call parent constructors
 Overridden convert() method to convert input (Fahrenheit temperature) to
Celsius and returns the value. If the instance has no input value, it should
return Double.NaN
 Use the following formula for conversion: C = ((F-32)*5)/9
c. DistanceConverter class which is a child of Converter and includes:
 Constructors which call parent constructors
 Overridden convert() method to convert input (distance in miles) to distance
in kilometers and returns the value. If the instance has no input value, it
should return Double.NaN
d. Use the following formula for conversion: KM = M * 1.609
2) Implement GUIConverter class using JFrame and JPanel as follows:
a. GUI will have 3 buttons: “Distance Converter”, “Temperature Converter”, and
“Exit”.
b. When user clicks Exit, the program will terminate
c. When user clicks Distance Converter, an input dialog will pop up where user can type
value and click OK:
d. Once user clicks OK, message dialog will pop up:
e. When user clicks on Temperature button, an input dialog will pop up to input value
and then when clicks OK, the message dialog with pop up with converted result:
f. SUGGESTIONS:
 For the input dialog you can use JOptionPane.showInputDialog
 The ActionListener for each Converter button should create the appropriate
Converter child instance, set the input, and call its convert() method
 For the pop up with converted value you can use
JOptionPane.showMessageDialog
Style and Documentation:
Make sure your Java program is using the recommended style such as:
 Javadoc comment up front with your name as author, date, and brief purpose of the
program
 Comments for variables and blocks of code to describe major functionality
 Meaningful variable names and prompts
 Class names are written in upper CamelCase
 Constants are written in All Capitals
 Use proper spacing and empty lines to make code human readable