Udx042220085 U3 AA1
Udx042220085 U3 AA1
Udx042220085 U3 AA1
MATRÍCULA: udx042220085
FECHA DE ENTREGA
09 DE OCTUBRE DE 2023
UDEMEX
Contenido
INTRODUCCIÓN...................................................................................................................... 2
DESARROLLO DE LA ACTIVIDAD..........................................................................................3
CONCLUSIONES....................................................................................................................21
FUENTES CONSULTADAS....................................................................................................22
INTRODUCCIÓN
DESARROLLO DE LA ACTIVIDAD
Defina dos métodos constructores para la clase Animal. El primer método debe recibir los
parámetros tipo, color, peso. El segundo método debe recibir los parámetros nombre_dueño,
y domicilio.
Desarrolle los métodos ‘get’, ‘set’ y el método obtenerAtributos(). Este método debe devolver
una cadena con todos los atributos concatenados, como se muestra en el siguiente ejemplo:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
public AnimalGUI() {
setTitle("Gestión de Animales");
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
resultadoArea.setEditable(false);
if (imageUrl != null) {
@Override
super.paintComponent(g);
};
panelConFondo.setLayout(null);
panelConFondo.add(autorLabel);
panelConFondo.add(matriculaLabel);
panelConFondo.add(añoLabel);
panelConFondo.add(tipoLabel);
panelConFondo.add(colorLabel);
panelConFondo.add(pesoLabel);
panelConFondo.add(nombreLabel);
panelConFondo.add(domicilioLabel);
panelConFondo.add(tipoField);
panelConFondo.add(colorField);
panelConFondo.add(pesoField);
panelConFondo.add(nombreField);
panelConFondo.add(domicilioField);
panelConFondo.add(crearAnimalButton);
panelConFondo.add(mostrarAtributosButton);
panelConFondo.add(resultadoArea);
getContentPane().add(panelConFondo);
crearAnimalButton.addActionListener(this);
mostrarAtributosButton.addActionListener(this);
} else {
@Override
if (e.getSource() == crearAnimalButton) {
try {
animal.setNombre_dueño(nombre_dueño);
animal.setDomicilio(domicilio);
if (animal != null) {
resultadoArea.setText(animal.obtenerAtributos());
} else {
SwingUtilities.invokeLater(() -> {
gui.setVisible(true);
});
Comencemos con una descripción línea por línea del código de AnimalGUI.java, que es la
clase principal de la aplicación de gestión de animales:
public AnimalGUI() {
Crear un panel con fondo transparente para superponer los elementos JPanel
panelConFondo = new JPanel() { @Override protected void paintComponent(Graphics
g) { super.paintComponent(g); g.drawImage(imagenFondo.getImage(), 0, 0, getWidth(),
getHeight(), this); } }; panelConFondo.setLayout(null);
Creamos un panel con fondo transparente que permite superponer los elementos de la
GUI sobre la imagen de fondo. En el método paintComponent, dibujamos la imagen de
fondo en el panel.
getContentPane().add(panelConFondo); crearAnimalButton.addActionListener(this);
mostrarAtributosButton.addActionListener(this); }
Configuramos los oyentes de eventos para los botones "Crear Animal" y "Mostrar
Atributos" (addActionListener(this)), de modo que se llamará al método
actionPerformed cuando se hagan clic en estos botones.
this.tipo = tipo;
this.color = color;
this.peso = peso;
this.nombre_dueño = nombre_dueño;
this.domicilio = domicilio;
return tipo;
this.tipo = tipo;
return color;
this.color = color;
return peso;
this.peso = peso;
return nombre_dueño;
this.nombre_dueño = nombre_dueño;
return domicilio;
this.domicilio = domicilio;
if (tipo != null && color != null && peso != null && nombre_dueño != null &&
domicilio != null) {
return tipo + ", " + color + ", " + peso + ", " + nombre_dueño + ", " +
domicilio;
} else {
Explicación:
public class Animal { private String tipo; private String color; private Double peso; private
String nombre_dueño; private String domicilio;
peso: Representa el peso del animal como un valor decimal de tipo Double.
Primer constructor con parámetros tipo, color y peso public Animal(String tipo, String color,
Double peso) { this.tipo = tipo; this.color = color; this.peso = peso; }
Aquí se define el primer constructor de la clase Animal. Este constructor toma tres
parámetros: tipo, color y peso. Cuando se crea una instancia de Animal con este
constructor, se inicializan los atributos tipo, color y peso.
Aquí se define el segundo constructor de la clase Animal. Este constructor toma dos
parámetros: nombre_dueño y domicilio. Cuando se crea una instancia de Animal
con este constructor, se inicializan los atributos nombre_dueño y domicilio.
La clase Animal incluye métodos getter y setter para cada uno de los atributos. Estos
métodos permiten acceder y modificar los valores de los atributos de la clase.
public String obtenerAtributos() { if (tipo != null && color != null && peso != null &&
nombre_dueño != null && domicilio != null) { return tipo + ", " + color + ", " + peso + ", " +
nombre_dueño + ", " + domicilio; } else { return "Faltan atributos para construir la cadena."; } }
}
Evidencia de ejecución
CONCLUSIONES
1. Clases y Objetos: Las clases actúan como plantillas que definen la estructura y el
comportamiento de los objetos, estos son instancias específicas de una clase y
almacenan datos relacionados.
5. Interfaz de Usuario (GUI): Implementamos una interfaz gráfica de usuario (GUI) para
interactuar con la aplicación, lo que proporciona una experiencia amigable para el
usuario.
6. Validación de Datos: Incluimos validación de datos básica para garantizar que los
valores ingresados sean correctos, como verificar el formato del peso.
FUENTES CONSULTADAS
Sánchez, J. (2004). Java2 incluye Swing, Threads, programación en red, JavaBeans, JDBC y
JSP / Servlets España. Recuperado el 4 de octubre de 2023 de:
http://www.jorgeSánchez.net/programacion/manuales/Java.pdf
https://portalacademico.cch.unam.mx/cibernetica1/algoritmos-y-codificacion/caracteristicas-
POO#:~:text=El%20paradigma%20de%20la%20programaci%C3%B3n,%2C%20herencia
%2C%20encapsulamiento%20y%20polimorfismo