Expand|Select|Wrap|Line Numbers
- package tempconv;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- public class TempConv extends JFrame
- {
- private JLabel CelL, FahrL;
- private JTextField CelTF, FahrTF;
- private CelsiusHandler cHandler;
- private FahrenheitHandler fHandler;
- private static final double FTOC = 5.0 / 9.0;
- private static final double CTOF = 9.0 / 5.0;
- private static final int OFFSET = 32;
- private static final int WIDTH = 400;
- private static final int HEIGHT = 100;
- public void TempConv() //constructor
- {
- //set labels
- CelL = new JLabel("Temp in Celsius: ", SwingConstants.RIGHT);
- FahrL = new JLabel("Temp in Fahrenheit: ", SwingConstants.RIGHT);
- //set text field
- cHandler = new CelsiusHandler();
- CelTF = new JTextField(10);
- //declare action listener object of its class
- fHandler = new FahrenheitHandler();
- FahrTF = new JTextField(10);
- //set title for window
- setTitle("Temperature Conversion");
- //get the container
- Container pane = getContentPane();
- //set layout
- pane.setLayout(new GridLayout(1, 4));
- //Add info to window's content pane
- pane.add(CelL);
- pane.add(CelTF);
- pane.add(FahrL);
- pane.add(FahrTF);
- //register action listener
- CelTF.addActionListener(cHandler);
- FahrTF.addActionListener(fHandler);
- //set dimension
- setSize(WIDTH, HEIGHT);
- setVisible(true);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- }
- private class CelsiusHandler implements ActionListener
- {
- public void actionPerformed(ActionEvent e)
- {
- double celsius, fahrenheit;
- celsius = Double.parseDouble(CelTF.getText());
- fahrenheit = CTOF * celsius + OFFSET;
- FahrTF.setText(String.format("%.2f" + celsius));
- }
- }
- private class FahrenheitHandler implements ActionListener
- {
- public void actionPerformed(ActionEvent e)
- {
- double celsius, fahrenheit;
- fahrenheit = Double.parseDouble(FahrTF.getText());
- celsius = FTOC * (fahrenheit -32);
- CelTF.setText(String.format("%.2f", +celsius));
- }
- }
- public static void main(String[] args)
- {
- TempConv outputTable = new TempConv();
- }
- }