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

/**
 *
 * @author felix
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
        

public class MiVentana2 extends JFrame {
    private JButton miBoton;
    private JTextField miCampoTexto;
    private JLabel miEtiqueta;
           
    public MiVentana2() {
        super("Mi Ventana 2");
        
        this.definirVentana();
        
        this.setResizable(false);
        this.setLocationRelativeTo(null);
        this.setSize(400, 400);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    
    public void definirVentana() {
        this.setLayout(new FlowLayout());
        miBoton = new JButton("Enviar");
        miCampoTexto = new JTextField(20);
        miEtiqueta = new JLabel();
        
        this.add(miCampoTexto);
        this.add(miBoton);
        this.add(miEtiqueta);
        miBoton.addActionListener((ActionListener) new MiBotonListener());
        miCampoTexto.addKeyListener((KeyListener) new MiCampoTextoKeyListener());
    }

    
    private class MiBotonListener implements ActionListener {    
        public void actionPerformed(ActionEvent arg0) {
            String a = miCampoTexto.getText();
            double val = 0; 
            try {
                val = Double.parseDouble(a);
            }
            catch (NumberFormatException ex) {
                miEtiqueta.setText("Error");
                miCampoTexto.setText("");
                return;
            }
            
            double val2 = val*1.1;
            miEtiqueta.setText("El 10% de " + val + " es " + val2);    
        }
    } 
    
    private class MiCampoTextoKeyListener implements KeyListener {     
        public void keyTyped(KeyEvent arg0) {
            if(arg0.getKeyChar() == '\n' ) {
                String a = miCampoTexto.getText();
                double val = 0; 
                try {
                    val = Double.parseDouble(a);
                }
                catch (NumberFormatException ex) {
                    miEtiqueta.setText("Error");
                    miCampoTexto.setText("");
                    return;
                }

                double val2 = val*1.1;
                miEtiqueta.setText("El 10% de " + val + " es " + val2);    
            }
        
        }

        public void keyPressed(KeyEvent arg0) {
        }

        public void keyReleased(KeyEvent arg0) {

        }
    }    
}
