Ir al contenido principal

Calculadora JFrame con lenguaje Java



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author jeisonnisperuza
 */
public class Calculadora extends JFrame implements ActionListener {

    // argumentos y componentes
    private JFrame frame;
    private JPanel panel1 = new JPanel();
    private JPanel panel2 = new JPanel();
    private JTextField texto, campoTexto1, campoTexto2;
    private String resultado;
    private String formula = "";
    private int a = 0;
    
    

    // constructor
    public Calculadora() {
        setDefaultCloseOperation(Calculadora.EXIT_ON_CLOSE);
        Container contenedor = getContentPane();

        
        panel1.setLayout(new GridLayout(2, 2));
        texto = new JTextField("OPERACIÓN");
        texto.setEditable(false);
        panel1.add(texto);
        campoTexto1 = new JTextField(10);
        campoTexto1.setEditable(false);
        panel1.add(campoTexto1);
        texto = new JTextField("RESULTADO");
        texto.setEditable(false);
        panel1.add(texto);
        campoTexto2 = new JTextField(10);
        campoTexto2.setEditable(false);
        panel1.add(campoTexto2);
        contenedor.add(panel1, "North");
        panel2.setLayout(new FlowLayout());

        for (int i = 0; i < 10; i++) {
            JButton boton = new JButton("" + i);
            boton.addActionListener(this);
            panel2.add(boton);
        }

        JButton suma = new JButton("+");
        suma.addActionListener(this);
        panel2.add(suma);
        JButton resta = new JButton("-");
        resta.addActionListener(this);
        panel2.add(resta);
        JButton multiplica = new JButton("*");
        multiplica.addActionListener(this);
        panel2.add(multiplica);
        JButton divide = new JButton("/");
        divide.addActionListener(this);
        panel2.add(divide);
        JButton igual = new JButton("=");
        igual.addActionListener(this);
        panel2.add(igual);
        JButton CE = new JButton("CE");
        CE.addActionListener(this);
        panel2.add(CE);
        contenedor.add(panel2, "Center");
        
        // propiedades del frame contenedor
        this.setSize(350, 230);
        this.setLocationRelativeTo(null);
        this.setResizable(false);
        this.setVisible(true);
        
    }

    public void actionPerformed(ActionEvent evento) {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("js");
        if (a == 1 && (!(evento.getActionCommand()).equals("="))) {
            setResultado("");
        }
        if ((evento.getActionCommand()).equals("CE")) {
            setFormula("");
            setResultado("");
            formula = "";
            resultado = null;
        }
        if (!((evento.getActionCommand()).equals("=") || (evento.getActionCommand()).equals("CE"))) {
            formula = formula + evento.getActionCommand();
            setFormula(formula);
        }
        if ((evento.getActionCommand()).equals("=")) {
            try {
                resultado = "" + engine.eval(formula);
                if (!(resultado.equals("null"))) {
                    if (resultado.equals("Infinity") || resultado.equals("NaN")) {
                        setFormula(formula);
                        setResultado("Math Error");
                    } else {
                        setFormula(formula);
                        setResultado("" + resultado);
                    }
                }
                formula = "";
            } catch (ScriptException se) {
                formula = "";
                setResultado("Error en la sintaxis ");
            }
            a = 1;
        }
    }

    public void setFormula(String laFormula) {
        campoTexto1.setText(laFormula);
    }

    public void setResultado(String elResultado) {
        campoTexto2.setText(elResultado);
    }

    public static void main(String args[]) {
        new Calculadora().setTitle("Calculadora Jeison Nisperuza");
    }

}




Comentarios

Entradas populares de este blog

Fireworks CS3 portable

Para que hagas los logos, botones e imagenes para tus aplicaciones facil y rapido... ¿Qué es Fireworks? Adobe Fireworks es una aplicación en forma de estudio (basada en la forma de estudio de Adobe Flash ), pero con más parecido a un taller destinado para el manejo híbrido de gráficos vectoriales con Gráficos en mapa de bits y que ofrece un ambiente eficiente tanto para la creación rápida de prototipos de sitios Web e interfaces de usuario, como para la creación y Optimización de Imágenes para web. Originalmente fue desarrollado por Macromedia , compañía que fue comprada en 2005 por Adobe Systems . Fireworks está disponible de forma individual o integrado en Adobe CS3/CS4/CS5 y por tanto ha sido diseñado para integrarse con otros productos de Adobe, como Dreamweaver y Flash . Integración con Adobe Flash La integración con Adobe Flash se ha ido reduciendo paulatinamente desde que Flash, en su versión 7, integró la herramienta PolyStar que hace un polígono

Pasar de una ventana a otra en java

Hola a todos en esta oportunidad estamos postiando algo que cuando empezamos con java es muy necesario y es como pasar de una ventana a otra, ya sea JDialog o JFrame; creados en tiempo de ejecucion o en aplicaciones de escritorio: Para llamar a un JDialog:        JDialog1 dialogo = new JDialog1 ( this , true );        dialogo . show (); y para cerrar un JDialogo de una plicacion de escritorio se puede utilizar:        dispose (); Para llamar a un JFrame:        JFrame1 frame = new JFrame1 ();        frame . show (); Para cerrar un JFrame de una plicacion de escritorio:                 dispose ();   o tambien: System. exit (0); y si se contruye a partir de la clase JFrame se coloca el siguiente codigo en la parte publica del documento:       setDefaultCloseOperation ( EXIT_ON_CLOSE ); Espero los siguientes ejemplos les sean de mucha ayuda... Deja tu comentario o agradecimiento.

Limitar texto con CSS

HTML: <span class= "text" > Hello world this is a long sentence </span> CSS: .text {   display : block ;   width : 100px ;   overflow : hidden ;   white-space : nowrap ;   text - overflow : ellipsis; }  RESULTADO: Hello world t...