CREAR UNA CALCULADORA EN JAVA
Enviado por alejandro201 • 25 de Marzo de 2013 • 758 Palabras (4 Páginas) • 648 Visitas
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:
1
import java.awt.*;
2
import java.awt.event.*;
3
import javax.swing.*;
Con esto importamos todas las clases awt, events y swing.
Estructura del programa
Nuestra clase se llamará Main y nuestro archivo main.class. Este es su esqueleto:
01
public class Main extends JFrame implements ActionListener {
02
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
}
Como se puede ver, nuestra clase extiende JFrame e implementa la interface ActionListener que nos obliga a implementar el método actionPerformed (click en botón).
Se tienen atributos privados, el primero un cuadro de texto, los demas contadores y variables de control.
Luego tenemos el constructor de la clase, que nos servirá para crear la interfaz y asignar eventos a los controles correspondientes (lo veremos ahora mismo). Luego tenemos un método estatico especial llamado main (en minúsculas) que nos permite ejecutar la calculadora.
Y por último un evento para capturar los clicks del usuario sobre los diferentes botones de la calculadora.
Creando la interfaz
Dentro del constructor podemos ver este código:
01
super("Calculadora Básica");
02
String labelButtons[] = {"7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", "C", "=", "+"};
03
JPanel cp = (JPanel) this.getContentPane();
04
cp.setLayout(new BorderLayout());
05
JPanel p = new JPanel();
06
p.setLayout(new GridLayout(0, 4));
07
for (int i = 0; i < labelButtons.length; ++i) {
08
JButton button = new JButton(labelButtons[i]);
09
button.addActionListener(this);
...