/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Capitulo_6.Ventana;

import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

/**
 *
 * @author felix
 */

public class Temperatura extends JFrame{
    private JTextField campo1, campo2;
    private JLabel etiqueta1, etiqueta2;
    
    public Temperatura() {
        super("Coversion");
        definirVentana();
        this.setResizable(false);
        this.setSize(200, 300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    
    public void definirVentana(){
        this.setLayout(new FlowLayout());
        
        campo1 = new JTextField(15);
        campo2 = new JTextField(15);
        etiqueta1 = new JLabel("Grados C");
        etiqueta2 = new JLabel("Grados F");
        
        this.add(etiqueta1);
        this.add(campo1);
        this.add(etiqueta2);
        this.add(campo2);
        
        campo1.addKeyListener((KeyListener) new campo1_KeyListener());
        campo2.addKeyListener((KeyListener) new campo2_KeyListener());
  
    }
    
    private class campo1_KeyListener implements KeyListener {

        public void keyTyped(KeyEvent arg0) {
            if(arg0.getKeyChar() == '\n') {
                String a  = campo1.getText();
                double val =0;
                try {
                    val = Double.parseDouble(a);
                }
                catch(NumberFormatException e) {
                    campo2.setText("Error");
                    return;
                    
                }
                val = val*9.0/5.0 + 32.0;                
                campo2.setText(""+val);
                
            }
        }

        public void keyPressed(KeyEvent arg0) {
        }

        public void keyReleased(KeyEvent arg0) {
        }
        
    }
    
    private class campo2_KeyListener implements KeyListener {

        public void keyTyped(KeyEvent arg0) {
            if(arg0.getKeyChar() == '\n') {
                String a  = campo2.getText();
                double val =0;
                try {
                    val = Double.parseDouble(a);
                }
                catch(NumberFormatException e) {
                    campo1.setText("Error");
                    return;
                    
                }
                val = (val -32.0)*5.0/9.0;
                campo1.setText(""+val);
                
            }
        }

        public void keyPressed(KeyEvent arg0) {
        }

        public void keyReleased(KeyEvent arg0) {
        }
        
    }
    
    static public void main(String args[]) {
        Temperatura a = new Temperatura();
    }

}
