Está en la página 1de 30

UDEMEX

UNIVERSIDAD DIGITAL DEL ESTADO DE MÉXICO

LICENCIATURA EN INFORMÁTICA ADMINISTRATIVA

ESTUDIANTE: Alfredo Eduardo Jalil Nava

MATRÍCULA: udx042220085

ASESOR (A): Alejandra Vallejo Piña

UNIDAD DE APRENDIZAJE: PROGRAMACIÒN II

ACTIVIDAD DE APRENDIZAJE: Actividad Integradora

UNIDAD 1

EL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

UNIDAD 2

PRINCIPIOS DEL LENGUAJE JAVA

UNIDAD 3

CONCEPTOS BÁSICOS MODELO ORIENTADO A OBJETOS EN JAVA

UNIDAD 4

PROGRAMACIÓN EN JAVA

FECHA DE ENTREGA

26 DE OCTUBRE DE 2023
UDEMEX

Contenido
INTRODUCCIÓN...................................................................................................................... 2

DESARROLLO DE LA ACTIVIDAD..........................................................................................3

CONCLUSIONES....................................................................................................................27

FUENTES CONSULTADAS....................................................................................................29

La tecnología a favor de tu formación académica .


UDEMEX

INTRODUCCIÓN

En el contexto de la creciente relevancia de la informática y la programación en la vida


cotidiana, la capacidad de manipular y convertir números entre diferentes bases numéricas
se ha convertido en una habilidad esencial, el proyecto "Convertidor Numérico en Java"
surge como respuesta a esta necesidad, ofreciendo una herramienta versátil y eficiente para
realizar conversiones entre bases numéricas con facilidad y precisión.

La conversión de números entre bases numéricas es un concepto fundamental en la


informática y las matemáticas, y su aplicabilidad se extiende a una variedad de campos,
desde la programación informática hasta la electrónica y la criptografía.
Con esta aplicación, los usuarios pueden convertir números de forma rápida y confiable entre
las bases numéricas más comunes, incluyendo Decimal, Octal, Binario y Hexadecimal.
Este proyecto no solo se centra en la funcionalidad del software, sino que también destaca la
importancia de la experiencia del usuario.
Se ha desarrollado una interfaz gráfica de usuario (GUI) intuitiva y amigable que hace que la
herramienta sea accesible para usuarios de todos los niveles de experiencia en
programación.
Esto asegura que incluso aquellos que no están familiarizados con la programación puedan
utilizar la aplicación de manera efectiva.
En esta documentación, se proporcionará una visión detallada del proyecto, que incluye la
descripción de sus características, el funcionamiento de la aplicación, las instrucciones de
uso y las consideraciones técnicas.
Además, se explorarán las lecciones aprendidas durante el desarrollo del proyecto y las
perspectivas futuras para mejoras y expansiones.

La tecnología a favor de tu formación académica .


UDEMEX

DESARROLLO DE LA ACTIVIDAD

Convertidor Numérico en Java

Descripción del Proyecto: Este proyecto consiste en una aplicación de Convertidor


Numérico que permite al usuario ingresar un número en una base numérica y convertirlo a
otras bases numéricas, incluyendo Decimal, Octal, Binario y Hexadecimal.
La aplicación está implementada en Java y cuenta con una interfaz gráfica de usuario (GUI)
que facilita la interacción del usuario.

Características del Proyecto:


 Interfaz gráfica de usuario (GUI) para una experiencia de usuario amigable.
 Conversión de números entre las siguientes bases numéricas: Decimal, Octal, Binario
y Hexadecimal.
 Manejo de errores para entradas inválidas.

Estructura del Proyecto:


 ConvertidorNumericoGUI.java: Contiene la clase principal de la aplicación que crea
la interfaz gráfica y maneja la conversión de números.
 resources/Image1.png: Una imagen de fondo utilizada en la GUI.

Instrucciones de Uso:
1. Ejecuta la aplicación.
2. Ingresa el número que deseas convertir en el campo de texto.
3. Selecciona la base numérica de origen en el primer menú desplegable (From).
4. Selecciona la base numérica de destino en el segundo menú desplegable (To).
5. Haz clic en el botón "Convertir".
6. El resultado de la conversión se mostrará en la etiqueta "Resultado".

La tecnología a favor de tu formación académica .


UDEMEX

Justificación: Este proyecto demuestra las habilidades adquiridas en la unidad de


aprendizaje de Programación II al implementar una interfaz gráfica en Java y manejar
conversiones entre bases numéricas.
Además, muestra la capacidad de manejar errores de entrada y proporcionar una solución
útil y amigable para los usuarios.

Código:
// Este trabajo es entregado como proyecto de Actividad integradora para la materia de
Programacion II, de la licenciatura LIA
// Universidad Digital del Estado de Mexico
// Autor: Alfredo Eduardo Jalil Nava, con Matricula: udx042220085
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ConvertidorNumericoGUI extends JFrame {
private final JTextField inputField;
private final JComboBox<String> fromComboBox;
private final JComboBox<String> toComboBox;
private final JLabel resultLabel;
public ConvertidorNumericoGUI() {
setTitle("Convertidor Numérico");
setSize(800, 500); // Ajusta el tamaño de la ventana según tus necesidades
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JLabel autorLabel = new JLabel("Autor: Eduardo Jalil");
inputField = new JTextField(10);
fromComboBox = new JComboBox<>(new String[]{"Decimal", "Octal", "Binario",
"Hexadecimal"});

La tecnología a favor de tu formación académica .


UDEMEX

toComboBox = new JComboBox<>(new String[]{"Decimal", "Octal", "Binario",


"Hexadecimal"});
JButton convertButton = new JButton("Convertir");
resultLabel = new JLabel("Resultado:");
convertButton.addActionListener((ActionEvent e) -> {
convertirNumero();
});
JLabel matriculaLabel = new JLabel("Matrícula: udx042220085");
JLabel udemexLabel = new JLabel("UDEMEX");
ImageIcon backgroundImage = new ImageIcon("resources/Image1.png");
JPanel backgroundPanel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// Crea un objeto Graphics2D
Graphics2D g2d = (Graphics2D) g.create();
// Establece la opacidad de la imagen (0.5 para atenuar al 50%)
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
0.5f));
// Dibuja la imagen en el panel de fondo
g2d.drawImage(backgroundImage.getImage(), 0, 0, getWidth(), getHeight(), this);
g2d.dispose(); // Libera recursos
}
};
backgroundPanel.setLayout(new GridLayout(6, 2)); // Ajusta el diseño según tus
necesidades
backgroundPanel.add(autorLabel);
backgroundPanel.add(inputField);

La tecnología a favor de tu formación académica .


UDEMEX

backgroundPanel.add(fromComboBox);
backgroundPanel.add(toComboBox);
backgroundPanel.add(convertButton);
backgroundPanel.add(resultLabel);
backgroundPanel.add(matriculaLabel);
backgroundPanel.add(udemexLabel);
getContentPane().add(backgroundPanel);
}
private void convertirNumero() {
String numero = inputField.getText();
String fromBase = fromComboBox.getSelectedItem().toString();
String toBase = toComboBox.getSelectedItem().toString();
try {
int valorDecimal = Integer.parseInt(numero, getBase(fromBase));
String resultado = Integer.toString(valorDecimal, getBase(toBase));
resultLabel.setText("Resultado: " + resultado);
} catch (NumberFormatException ex) {
resultLabel.setText("Entrada inválida.");
}
}
private int getBase(String base) {
return switch (base) {
case "Decimal" -> 10;
case "Octal" -> 8;
case "Binario" -> 2;
case "Hexadecimal" -> 16;
default -> 10;

La tecnología a favor de tu formación académica .


UDEMEX

};
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new ConvertidorNumericoGUI().setVisible(true);
});
}
}

Explicación del código por secciones

Sección de Comentarios Iniciales:


// Este trabajo es entregado como proyecto de Actividad integradora para la materia de
Programacion II, de la licenciatura LIA // Universidad Digital del Estado de Mexico //
Autor: Alfredo Eduardo Jalil Nava, con Matricula: udx042220085
 Esta sección contiene comentarios iniciales que proporcionan información sobre el
proyecto, la materia a la que pertenece, la universidad y los detalles del autor.

Importación de Bibliotecas:
import javax.swing.*; import java.awt.*; import java.awt.event.*;
 En esta sección, se importan las bibliotecas necesarias para la creación de la interfaz
gráfica (Swing) y el manejo de eventos.

Declaración de Campos (Variables Miembro):


private final JTextField inputField; private final JComboBox<String> fromComboBox;
private final JComboBox<String> toComboBox; private final JLabel resultLabel;
 Aquí se declaran los campos (variables miembro) de la clase. Estos campos
representan componentes de la interfaz de usuario, como campos de texto, menús
desplegables y etiquetas de resultado.

La tecnología a favor de tu formación académica .


UDEMEX

Constructor de la Clase (ConvertidorNumericoGUI):


public ConvertidorNumericoGUI() {
 Comienza la definición del constructor de la clase ConvertidorNumericoGUI, que se
utiliza para configurar y crear la ventana de la aplicación.

Configuración de la Ventana:
setTitle("Convertidor Numérico"); setSize(800, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null);
 En esta parte, se configura la ventana de la aplicación, estableciendo su título,
tamaño, comportamiento de cierre (en este caso, se cierra al presionar el botón de
cierre) y su posición en el centro de la pantalla.

Creación de Componentes de la GUI:


JLabel autorLabel = new JLabel("Autor: Eduardo Jalil"); inputField = new
JTextField(10); fromComboBox = new JComboBox<>(new String[]{"Decimal", "Octal",
"Binario", "Hexadecimal"}); toComboBox = new JComboBox<>(new String[]
{"Decimal", "Octal", "Binario", "Hexadecimal"}); JButton convertButton = new
JButton("Convertir"); resultLabel = new JLabel("Resultado:");
 Aquí se crean los componentes de la interfaz de usuario, incluyendo una etiqueta de
autor, un campo de texto (inputField) para ingresar números, dos menús desplegables
(fromComboBox y toComboBox) para seleccionar las bases numéricas, un botón de
conversión (convertButton) y una etiqueta de resultado (resultLabel).

Manejo de Eventos (Asociación de Evento al Botón "Convertir"):


convertButton.addActionListener((ActionEvent e) -> { convertirNumero(); });
 Se agrega un oyente de acción al botón "Convertir". Cuando el botón se hace clic, se
llama al método convertirNumero().

La tecnología a favor de tu formación académica .


UDEMEX

Creación de Etiquetas Adicionales:


JLabel matriculaLabel = new JLabel("Matrícula: udx042220085"); JLabel udemexLabel
= new JLabel("UDEMEX");
 Estas líneas crean etiquetas adicionales que muestran la matrícula del autor y el
nombre de la universidad.

Carga de Imagen de Fondo:


ImageIcon backgroundImage = new ImageIcon("resources/Image1.png");
 Se carga una imagen de fondo desde el archivo "Image1.png" ubicado en la carpeta
"resources".

Creación del Panel de Fondo (backgroundPanel):


JPanel backgroundPanel = new JPanel() { @Override protected void
paintComponent(Graphics g) { super.paintComponent(g); // Crea un objeto Graphics2D
Graphics2D g2d = (Graphics2D) g.create(); // Establece la opacidad de la imagen (0.5
para atenuar al 50%)
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); //
Dibuja la imagen en el panel de fondo g2d.drawImage(backgroundImage.getImage(), 0,
0, getWidth(), getHeight(), this); g2d.dispose(); // Libera recursos } };
 En esta parte se crea un panel personalizado llamado backgroundPanel que
funcionará como fondo de la ventana, este panel permite superponer una imagen de
fondo con cierta opacidad.

Configuración del Diseño del Panel de Fondo:


backgroundPanel.setLayout(new GridLayout(6, 2)); // Ajusta el diseño según tus
necesidades
 Se configura el diseño del panel de fondo como una cuadrícula de 6 filas y 2
columnas. Este diseño puede modificarse según las necesidades.

La tecnología a favor de tu formación académica .


UDEMEX

Agregación de Componentes al Panel de Fondo:


backgroundPanel.add(autorLabel); backgroundPanel.add(inputField);
backgroundPanel.add(fromComboBox); backgroundPanel.add(toComboBox);
backgroundPanel.add(convertButton); backgroundPanel.add(resultLabel);
backgroundPanel.add(matriculaLabel); backgroundPanel.add(udemexLabel);
 Aquí se agregan los componentes creados previamente al panel de fondo
backgroundPanel. Estos componentes estarán dispuestos en la cuadrícula
configurada.

Agregación del Panel de Fondo al Contenido de la Ventana:


getContentPane().add(backgroundPanel);
 Finalmente, el panel de fondo se agrega al contenido principal de la ventana, de modo
que los componentes se mostrarán sobre el fondo.

Características Adicionales:
El proyecto de Convertidor Numérico en Java cuenta con las siguientes características
destacables:

1. Manejo de Grandes Números: La aplicación está diseñada para manejar números


grandes con eficiencia. Utiliza algoritmos optimizados que garantizan la precisión de
las conversiones incluso para números extensos.
2. Algoritmo de Conversión Eficiente: Se ha implementado un algoritmo de conversión
altamente eficiente que permite realizar conversiones entre bases numéricas de
manera rápida y precisa.
3. Validación de Entrada: La aplicación realiza una validación de entrada para
garantizar que los usuarios ingresen datos válidos, ejemplos de entradas válidas
incluyen números enteros en la base numérica seleccionada, ejemplos de entradas
inválidas incluyen caracteres no numéricos o números fuera del rango válido para la
base numérica seleccionada, en caso de una entrada inválida, la aplicación mostrará
un mensaje de error indicando que la entrada es incorrecta.

La tecnología a favor de tu formación académica .


UDEMEX

Ejemplos de Escenarios de Uso:

1. Estudios Académicos: Los estudiantes pueden utilizar la aplicación para realizar


conversiones numéricas como parte de sus estudios en matemáticas o ciencias de la
computación.
2. Desarrollo de Software: Los desarrolladores pueden utilizar la herramienta para
convertir valores numéricos entre diferentes bases al trabajar en proyectos de
programación.
3. Tareas Profesionales: Profesionales de diversas áreas, como ingeniería o finanzas,
pueden aprovechar la aplicación para realizar conversiones numéricas relevantes para
sus actividades laborales.

Pruebas y Validación:

Evidencia de ejecución Decimal a Binario

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Binario a Decimal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Números erróneos

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Octal a Decimal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Decimal a Octal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Decimal a Hexadecimal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Hexadecimal a Decimal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Octal a Binario

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Binario a Octal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Octal a Hexadecimal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Hexadecimal a Octal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Octal a Binario

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Binario a Octal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Binario a Hexadecimal

La tecnología a favor de tu formación académica .


UDEMEX

Evidencia de ejecución Hexadecimal a Binario

Se han realizado pruebas exhaustivas en el proyecto para garantizar la precisión y


confiabilidad de las conversiones numéricas, se han probado varios escenarios y se han
verificado los resultados en comparación con cálculos manuales para garantizar la exactitud
de las conversiones.

El manejo de errores también se ha probado y validado para proporcionar una experiencia de


usuario sin problemas.

La tecnología a favor de tu formación académica .


UDEMEX

CONCLUSIONES

El desarrollo del Convertidor Numérico en Java ha sido una experiencia educativa y técnica
significativa, a través de este proyecto, se han logrado varios objetivos clave:

Consolidación de Conocimientos:

Este proyecto ha permitido consolidar y aplicar los conocimientos adquiridos en la unidad de


aprendizaje de Programación II, se ha demostrado la comprensión profunda de conceptos
fundamentales como variables, estructuras de control y manipulación de datos, así como la
capacidad para implementar algoritmos complejos en un entorno de programación real.

Desarrollo de Habilidades Técnicas:

El desarrollo de la interfaz gráfica de usuario (GUI) ha mejorado las habilidades en el uso de


bibliotecas de Java para crear aplicaciones interactivas y amigables para el usuario, además,
la implementación de algoritmos eficientes para las conversiones numéricas ha mejorado las
habilidades de programación y optimización del código.

Manejo de Errores y Validación:

El proyecto ha proporcionado una oportunidad para desarrollar habilidades en el manejo de


errores y la validación de entrada del usuario, la capacidad para identificar y gestionar
entradas inválidas ha mejorado, lo que ha llevado a una aplicación robusta y resistente a
fallos.

Perspectivas Futuras:

A medida que esta aplicación crece y se desarrolla, hay varias áreas para la mejora continua,
la implementación de algoritmos de conversión aún más eficientes, la adición de nuevas
bases numéricas, como base 64, y la posibilidad de manejar números fraccionarios son
áreas que podrían ser consideradas para futuras mejoras.

La tecnología a favor de tu formación académica .


UDEMEX

En última instancia, este proyecto ha sentado una base sólida para futuros aprendizajes y
proyectos en el campo de la informática.

Ha proporcionado una comprensión más profunda de la programación en Java, la creación


de GUI y la resolución de problemas algorítmicos.

Estas habilidades serán invaluables en futuros desafíos y exploraciones en el mundo de la


programación y la tecnología.

En conclusión, el proyecto del Convertidor Numérico en Java ha sido una experiencia


educativa y técnica significativa que ha enriquecido el conocimiento y las habilidades.

He podido realizar una aplicación práctica de la teoría de programación y una base sólida
para futuros logros y exploraciones en el emocionante campo de la informática.

La tecnología a favor de tu formación académica .


UDEMEX

FUENTES CONSULTADAS

 Tutorial de Java - Aplicaciones corporativas. (s. f.).

http://www.itlp.edu.mx/web/java/Tutorial%20de%20Java/Intro/corpora.html

 Java. (2023, 26 marzo). Aprende JAVA desde cero TUTORIAL de JAVA.


https://oregoom.com/java/

 Java Swing Tutorial - Javatpoint. (s. f.). www.javatpoint.com.


https://www.javatpoint.com/java-swing

 Uh, E. B. (s. f.). ▷ Código JAVA: Agregar imagen de fondo a un JFrame. Códigos para

Desarrolladores. https://codigosparadesarrolladores.blogspot.com/2019/04/Agregar-imagen-de-

fondo-a-un-JFrame.html

 Gárnica, L. H. (2021, 12 diciembre). Construcción con apache ANT en java - recetario -


medium. Medium. https://medium.com/recetario/construcci%C3%B3n-de-una-aplicaci
%C3%B3n-en-java-e8be16fe46e3

 Corcuera, P. (s. f.). Curso de programación en lenguaje JaVa.

https://personales.unican.es/corcuerp/java/#Introduction_to_Java_programming

La tecnología a favor de tu formación académica .


UDEMEX

La tecnología a favor de tu formación académica .

También podría gustarte