Question: Design and develop a GUI Java program to convert temperatures from Fahrenheit to Celsius and from Celsius to Fahrenheit. (This problem is derived from exercise

Design and develop a GUI Java program to convert temperatures from Fahrenheit to Celsius and from Celsius to Fahrenheit. (This problem is derived from exercise #6.22, p. 240 of the text). The GUI should contain two JTextFields, two JLabels, and two JButtons. The text fields will be used for entry of one temperature value (either Fahrenheit or Celsius). The JLabels will name the text fields i.e. Celsius and Fahrenheit. After entering a single temperature value, the user will then press the appropriate convert command button i.e. Convert to Celsius or Convert to Fahrenheit. The button event handler for the button pressed will calculate the converted temperature and display that in the appropriate text field for temperature. Use anonymous event handles in all cases.

Conversion Formulas:

celsius= 5.0/9.0 * (farenheight -32);

farenheiht = 9.0/5.0 * (celsius + 32);

Starting Point:

package anonymousGUI;

import javax.swing.*; import java.awt.*; import java.awt.event.*;

public class SimpleComponentFrame extends JFrame { // declare instance variables - i.e. references to components private JLabel label1; private JTextField field1; private JButton button1, button2, buttonClear; // methods - the constructor to define components, event handlers, etc. public SimpleComponentFrame () { // design GUI, title and layout manager first super ("A Simple GUI"); setLayout (new FlowLayout ()); // create and add components label1 = new JLabel ("I'm a label"); add (label1); field1 = new JTextField (15); add (field1); button1 = new JButton ("Press me"); add (button1); button2 = new JButton ("Not Yet"); add (button2); buttonClear = new JButton ("Clear"); add (buttonClear); // design event handlers here Handler handleEvents = new Handler (); button1.addActionListener (handleEvents); button2.addActionListener ( new ActionListener () { // override public void actionPerformed (ActionEvent event) { JOptionPane.showMessageDialog (null, "I'm button2"); } // end method actionPerformed } // end my anonymous inner class ); buttonClear.addActionListener ( new ActionListener () { // override public void actionPerformed (ActionEvent event) { // clear the field field1.setText (""); } // end method actionPerformed } // end anonymous inner class ); // end method addActionListener } // end constructor // create a nested, inner class that is the event handler class private class Handler implements ActionListener { // the actionPerformed override public void actionPerformed (ActionEvent event) { String text = ""; // assume/know the only component to generate an event will be the button // use the set/get text methods to get textfield data. We can because an // inner class has access to private variables of the 'containing' class text = "You Pressed ME! " + field1.getText (); // show a message dialog JOptionPane.showMessageDialog (null, text); } // end method actionPerformed } // end nested class Handler } // end class SimpleComponentFrame

Test Driver:

package anonymousGUI;

import javax.swing.JFrame;

public class TestDriver {

public static void main(String[] args) { // declare local variables/references here SimpleComponentFrame frame = new SimpleComponentFrame (); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); frame.setSize (300,150); frame.setVisible (true); } // end method main

} // end class TestDriver

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!