Crear una calculadora básica es un excelente proyecto para comenzar con la programación en Java, especialmente para aquellos interesados en aprender sobre interfaces gráficas de usuario (GUI) utilizando Swing. Swing es un poderoso toolkit para GUI incluido con Java que permite a los desarrolladores crear interfaces gráficas ricas e interactivas. En este artículo, te guiaré a través de los pasos para crear tu propia calculadora utilizando Swing en Java.
Paso 1: Configurar el Entorno de Desarrollo
Asegúrate de tener instalado el JDK (Java Development Kit) para compilar y ejecutar programas en Java. También necesitarás un IDE como IntelliJ IDEA, Eclipse o NetBeans que te facilitará escribir y organizar tu código.
Paso 2: Crear la Clase Principal
Empieza creando una nueva clase Java. Puedes nombrarla Calculadora
. Esta clase heredará de JFrame
para utilizar las capacidades de ventana de Swing.
import javax.swing.*;
import java.awt.event.*;
public class Calculadora extends JFrame {
// Aquí irán los componentes de la calculadora
}
Paso 3: Añadir Componentes de la UI
Dentro de la clase Calculadora
, declara los componentes de la interfaz de usuario que necesitarás, como un JTextField
para mostrar los números y botones para las operaciones.
private JTextField pantalla;
private JPanel panelNumeros, panelOperaciones;
// Botones para los números
private JButton[] botonesNumeros = new JButton[10];
// Botones para operaciones (+, -, *, /, =)
private JButton btnSuma, btnResta, btnMultiplica, btnDivide, btnIgual, btnBorrar;
Paso 4: Constructor de la Clase
Inicializa los componentes y configura la ventana principal en el constructor de la clase Calculadora
.
public Calculadora() {
super("Calculadora"); // Título de la ventana
setSize(400, 400); // Tamaño de la ventana
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Comportamiento al cerrar
setLayout(new BorderLayout()); // Layout principal
// Inicializa la pantalla
pantalla = new JTextField();
add(pantalla, BorderLayout.NORTH);
// Inicializar paneles
panelNumeros = new JPanel();
panelOperaciones = new JPanel();
// Configurar layout de los paneles
panelNumeros.setLayout(new GridLayout(5, 3));
panelOperaciones.setLayout(new GridLayout(5, 1));
// Añadir botones a los paneles
initBotonesNumeros();
initBotonesOperaciones();
// Añadir paneles a la ventana principal
add(panelNumeros, BorderLayout.CENTER);
add(panelOperaciones, BorderLayout.EAST);
}
Paso 5: Inicializar Botones
Crea métodos initBotonesNumeros()
y initBotonesOperaciones()
para inicializar los botones y añadirlos a sus respectivos paneles.
private void initBotonesNumeros() {
for (int i = 0; i < 10; i++) {
botonesNumeros[i] = new JButton(String.valueOf(i));
panelNumeros.add(botonesNumeros[i]);
}
}
private void initBotonesOperaciones() {
btnSuma = new JButton("+");
btnResta = new JButton("-");
btnMultiplica = new JButton("*");
btnDivide = new JButton("/");
btnIgual = new JButton("=");
btnBorrar = new JButton("C");
// Añadir botones al panel de operaciones
panelOperaciones.add(btnSuma);
panelOperaciones.add(btnResta);
panelOperaciones.add(btnMultiplica);
panelOperaciones.add(btnDivide);
panelOperaciones.add(btnIgual);
panelOperaciones.add(btnBorrar);
}
Paso 6: Agregar Eventos a los Botones
Añade listeners a los botones para manejar las acciones de usuario. Puedes hacer esto implementando ActionListener
y sobrescribiendo el método actionPerformed
.
private void addActionListeners() {
// Ejemplo para el botón 1
botonesNumeros[1].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
pantalla.setText(pantalla.getText() + "1");
}
});
// Agrega listeners similares para los demás botones
}
Paso 7: Lógica de la Calculadora
Implementa la lógica para realizar las operaciones matemáticas
. Esto puede involucrar mantener un estado de la operación actual y un valor acumulado, y luego realizar la operación correspondiente cuando el usuario presiona el botón =
.
Paso 8: Ejecutar la Aplicación
Finalmente, añade un método main
para hacer que tu aplicación sea ejecutable.
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Calculadora().setVisible(true);
}
});
}
Este es un esquema básico para empezar con tu calculadora en Java usando Swing. Puedes expandir este proyecto añadiendo más funcionalidades, como operaciones avanzadas (raíz cuadrada, potenciación), mejorando la interfaz de usuario o añadiendo la capacidad de realizar cálculos con decimales. La clave es experimentar y aprender más sobre cómo Swing facilita la creación de interfaces gráficas de usuario en Java.
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.