IU_Principal.java:
Esta clase implementará los métodos de manejo de interfaces y eventos, para visualizar las operaciones del algoritmo de Booth de una manera visualmente más atractiva.
A continuación, el detalle de lo que se usó para implementarlo.
Atributos:
- private JButton btnCalcular;
Es el botón con el cual se verifica que los datos ingresados sean correctos, y según eso, llama al algoritmo de Booth para calcular el resultado. - private JButton btnLimpiar;
Limpia los campos de texto para ingresar una nueva operación. - private JTextArea txaOperaciones;
Reporta paso a paso, las operaciones del algoritmo de Booth. - private JTextField txtMultiplicando;
Donde se ingresa el valor en base decimal del multiplicando de la operación. - private JTextField txtMultiplicandoBin;
Donde se reporta el multiplicando en binario. - private JTextField txtMultiplicador;
Donde se ingresa el valor en base decimal del multiplicador de la operación. - private JTextField txtMultiplicadorBin;
Donde se reporta el multiplicador en binario. - private JTextField txtMultiplicacion;
Donde se reporta a manera de cadena, la operación de forma: "a x b". - private JTextField txtResultado;
Donde se reporta el resultado de la operación, en base decimal. - private JTextField txtResultadoBin;
Donde se reporta el resultado de la operación en binario.
Métodos:
- IU_Principal() : constructor
Descripción: Inicializa todos los atributos, y ubicación en la interfaz de los elementos gráficos (Swing).
Entrada: Cadena que representa un número en binario.
Salida: Entero que representa el correspondiente valor en decimal. - btnCalcularActionPerformed(java.awt.event.ActionEvent evt) : void
Descripción: Convierte un número decimal, a un número binario.
Entrada: evento a manejar.
Salida: Vacío. - btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) : void
Descripción: Establece los valores de los cuadros de texto en vacío, limpiándolos para realizar un nuevo cálculo, y poniendo el foco (requestFocus) en el txtMultiplicando.
Entrada: evento a manejar.
Salida: Vacío. - validarValoresEntrada() : boolean
Descripción: Verifica que los datos ingresados sean exclusivamente numéricos/enteros y no de ningún otro tipo. También verifica que (en este caso) sean menores de 256, para normalizar las cadenas de números binarios a 9 bits (8 normales + 1 bit de signo)
Entrada: Vacío.
Salida: Valor booleano, que indica si los datos ingresados son númericos/enteros, menores a 256 (verdadero) o no cumplen esas restricciones (devuelve falso). - actualizarTextArea(String cadena) : void
Descripción: Actualiza el JTextArea txaOperaciones, añadiendo (append) la cadena de entrada.
Entrada: Cadena de texto a ser reportada dentro del textArea, siendo añadida en la última línea.
Salida: Vacío.
Los campos de texto deshabilitados, son los de tipo "reporte" para que el usuario no los pueda modificar.