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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started