El siguiente ejercicio lo encontré en uno de los blogs que frecuento, me parece una aplicación muy interesante para entender la interacción de los usuarios con la interfaz.
Aquí les dejo el blog donde pueden encontrar mas ejemplos: clic aqui
import java.awt.*;import javax.swing.*;import java.awt.event.*;   public class Calculadora extends JFrame implements ActionListener{ private JButton btn1,btn2,btn3,btn4,btn5; private JTextField val1,val2,resul;   //metodo donde creo y añado los controles public void Controles(){   //obtener panel de contenido y establecer su esquema      Container contenedor = getContentPane();      contenedor.setLayout( new FlowLayout(FlowLayout.CENTER) );   //crear controles y añadir      Label lbl1 = new Label("Numero");      contenedor.add(lbl1);      val1 = new JTextField(10);      contenedor.add(val1);      Label lbl2 = new Label("Numero");      contenedor.add(lbl2);      val2 = new JTextField(10);      contenedor.add(val2);      btn1 = new JButton("+");      contenedor.add(btn1);      btn1.addActionListener(this);      btn2 = new JButton("-");      contenedor.add(btn2);      btn2.addActionListener(this);      btn3 = new JButton("x");      contenedor.add(btn3);      btn3.addActionListener(this);      btn4 = new JButton("/");      contenedor.add(btn4);      btn4.addActionListener(this);      btn5 = new JButton("Limpiar");      contenedor.add(btn5);      btn5.addActionListener(this);      resul = new JTextField(10);      contenedor.add(resul); }   public Calculadora(){   //titulo ventana      super("Calculadora");      //cargo controles      Controles();      //tamaño ventana y mostrar y centrar      setSize(380,150);      setLocationRelativeTo(null);//centrar      setVisible(true); }   //eventos botones   public void actionPerformed(ActionEvent e) {     double  num1,num2,resu;     String resultado;        if (e.getSource()==btn1) {         if(val1.getText().equals("") || val2.getText().equals("")){          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",          "Error",JOptionPane.ERROR_MESSAGE);          }         else{          num1=Double.parseDouble(val1.getText());          num2=Double.parseDouble(val2.getText());          resu=num1+num2;          resultado=String.valueOf(resu);          resul.setText(resultado);         }                  }        if (e.getSource()==btn2) {         if(val1.getText().equals("") || val2.getText().equals("")){          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",          "Error",JOptionPane.ERROR_MESSAGE);          }         else{          num1=Double.parseDouble(val1.getText());          num2=Double.parseDouble(val2.getText());          resu=num1-num2;          resultado=String.valueOf(resu);          resul.setText(resultado);         }                  }         if (e.getSource()==btn3) {         if(val1.getText().equals("") || val2.getText().equals("")){          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",          "Error",JOptionPane.ERROR_MESSAGE);          }         else{          num1=Double.parseDouble(val1.getText());          num2=Double.parseDouble(val2.getText());          resu=num1*num2;          resultado=String.valueOf(resu);          resul.setText(resultado);         }                  }        if (e.getSource()==btn4) {         if(val1.getText().equals("") || val2.getText().equals("")){          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",          "Error",JOptionPane.ERROR_MESSAGE);          }         else{          num1=Double.parseDouble(val1.getText());          num2=Double.parseDouble(val2.getText());          try{           resu=num1/num2;           resultado=String.valueOf(resu);           resul.setText(resultado);          }          catch(ArithmeticException ex){            JOptionPane.showMessageDialog(null, "No se Puede Dividir Entre 0",            "Error",JOptionPane.ERROR_MESSAGE);          }                    }                  }        if (e.getSource()==btn5){         val1.setText("");            val2.setText("");            resul.setText("");       }                 }         public static void main(String[] args) {      JFrame.setDefaultLookAndFeelDecorated(true);      Calculadora calc = new Calculadora();//Instanciamos la clase que creamos      calc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//cerrar ventana    }
No hay comentarios:
Publicar un comentario