Calculadora en Java
Calculadora en Java
Java es un lenguaje que nos permite crear aplicaciones Desktop para muchos sistemas
operativos. Hacer un programa en java como una calculadora con interfaz gráfica nos
permite aprender sobre botones, paneles, eventos y otras cuestiones básicas del
desarrollo de aplicaciones.
Programa Calculadora
Para crear la calculadora de la imágen anterior debemos tener en cuenta la interfaz y los
eventos. Lo ideal es mantener el código que permite los cálculos en una clase separada,
pero aqui todo se realizará en una única clase.
Para comenzar a trabajar con componentes gráficos y eventos debemos agregar al inicio
del archivo de la clase las siguientes inclusiones:
view sourceprint?
1 import java.awt.*;
2 import java.awt.event.*;
3 import javax.swing.*;
03 private JTextField t;
04 private int a = 0, b = 0;
05 private int eq = 0;
06 private char op = 0;
07
08 public Main() {
09 ...
10 }
11
12 public static void main(String[] args) {
13 new Main();
14 }
15
16 public void actionPerformed(ActionEvent e) {
17 ...
18 }
19 }
Creando la interfaz
view sourceprint?
01 super("Calculadora Básica");
String labelButtons[] = {"7", "8", "9", "/", "4", "5", "6", "*",
02
"1", "2", "3", "-", "0", "C", "=", "+"};
09 button.addActionListener(this);
10 p.add(button);
11 }
12 t = new JTextField();
13 t.setHorizontalAlignment(JTextField.RIGHT);
14 t.setText("0");
15 cp.add(t, BorderLayout.PAGE_START);
16 cp.add(p, BorderLayout.CENTER);
Primero asignamos el título de la ventana y creamos un vector con los caracteres de los
botones. Si lo notaron tiene un orden algo extraño, esto se debe al algoritmo que se usa
luego para crear los controles recorriendo el vector.
Nuestra interfaz nos quedó muy bonita, pero no hace nada. Debemos darle
funcionalidad y esto lo hacemos en el evento que captura los click del usuario sobre los
diferentes botones de la interfaz.
view sourceprint?
01 public void actionPerformed(ActionEvent e) {
02 char c = ((JButton) e.getSource()).getText().charAt(0);
03 if (c >= '0' && c <= '9') {
04 .... Implementación
05 //Log
06 System.out.print(a);
07 System.out.print(" ");
08 System.out.print(b);
09 ....
10 }
La variable local c se asigna con el caracter que hace referencia al botón pulsado (ver el
contenido del vector de etiquetas de botones que se declara en el constructor de la
clase).
Con esa variable sabremos qué es lo que pulsó el usuario y consecuentemente
deberemos trabajar con dicha orden.
Si es un dígito haremos una cosa, si es un signo de operatoria otra cosa. Si se trata del
signo igual deberemos calcular e informar. Y si es el simbolo C (clear), simplemente
resetearemos la calculadora.
Posiblemente el código tenga algún que otro error, si te animas a mejorarlo podes
publicar tu mejora como uno de los comentarios de este artículo.