informe tecnico unidad 3

20
Instituto Tecnológico Superior de Felipe Carrillo Puerto Informe Técnico de la unidad 3 Ingeniería en sistemas computacionales Tópicos Avanzados de programación Unidad 3. Componentes y librerías Realizado por Ángel Felipe Suaste Tuz Carla Balam Méndez Bella Areli Perez Gomez Miriam Candelaria Poot Pech Irving Saul Che Canul Luis Antonio Chan Chuc 1

Upload: irving-che

Post on 12-Apr-2017

267 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Informe tecnico unidad 3

Instituto Tecnológico Superior de Felipe Carrillo Puerto

Informe Técnico de la unidad 3Ingeniería en sistemas computacionales

Tópicos Avanzados de programaciónUnidad 3. Componentes y librerías

Realizado porÁngel Felipe Suaste TuzCarla Balam MéndezBella Areli Perez GomezMiriam Candelaria Poot PechIrving Saul Che CanulLuis Antonio Chan Chuc

1

Page 2: Informe tecnico unidad 3

Proyecto LibreriaMatematicaCódigo de la clase AritméticaCódigo de la Clase Avanzado

Proyecto CalculadoraBasicaCodigo de la clase Calculadora

ConclusionesConclusiones Angel Felipe Suaste TuzConclusiones Carla Balam Méndez

Conclusión general

2

Page 3: Informe tecnico unidad 3

Proyecto LibreriaMatematicaEl siguiente proyecto es la generación de una librería, la cual es implementada en otro proyecto llamada CalculadoraBasica.

Código de la clase Aritmética

package paquetematematica; //paquete de la clase

public class Aritmetica { //inicio de la clase Aritmetica

//esta clase contiene 4 metodos, las cuales son operaciones aritmeticas basicas (suma, resta, division y multiplicación), en cada metodo se pasan 2 parametros de tipo doouble.

//cada metodo retorna ya sea la suma, resta, division o multiplicacion de los 2 parametros. public double suma (double a, double b){ return(a+b); } public double resta (double a, double b){ return(a-b); } public double producto (double a, double b){ return(a*b); } public double division (double a, double b){ return(a/b); }

} // fin de la se Aritmética

3

Page 4: Informe tecnico unidad 3

Código de la Clase Avanzadopackage paquetematematica; //paquete de la clase

public class Avanzado { //inicio de la clase Avanzado

public double raiz(double a){ //metodo raiz, la cual tiene un argumento tipo double return (Math.sqrt(a)); //llamada de la clase Math para calcular la raíz cuadrada } //fin del método public double potencia(double a, double b){ //inicio del metodo raiz con dos argumento tipo double return (Math.pow(a, b)); //uso de la clase Math y uso del método pow la cual calcula lapotenciación de a elevado al exponente b } } //fin de la clase Avanzado

4

Page 5: Informe tecnico unidad 3

Proyecto CalculadoraBasica

Codigo de la clase CalculadoraEl siguiente proyecto es una calculadora básica que realiza operaciones como suma, resta, división, multiplicación y potenciación. Introduciendo dos números.

package calculadorabasica; //paquete de la clase Calculadoraimport paquetematematica.Aritmetica; //importe de la librería paquetematematica creada en el proyecto LibreriaMatematica

public class Calculadora extends javax.swing.JFrame { //inicio de la clase Calculadora, la cual es subclase de JFrame double a, b; //declaracion de las variables a y b, que en su momento serán los argumentos de los metodos de las clases Aritmetica y Avanzado

//las 2 siguiente lineas de codigo instancia 2 objetos, una para la clase Aritmetica y el otro de la clase Avanzado (aux y aux2 respectivamente) paquetematematica.Aritmetica aux= new paquetematematica.Aritmetica(); paquetematematica.Avanzado aux2= new paquetematematica.Avanzado();

public Calculadora() { //constructor de la clase initComponents(); } //fin del constructor

@SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

//codigo generado por netbeans private void initComponents() {

jLabel1 = new javax.swing.JLabel(); txtn1 = new javax.swing.JTextField(); //caja de texto para el primer número jLabel2 = new javax.swing.JLabel(); txtn2 = new javax.swing.JTextField(); //caja de texto para el segundo número btnSuma = new javax.swing.JButton(); //botón suma btnResta = new javax.swing.JButton(); //botón resta btnProducto = new javax.swing.JButton(); //botón multiplicación btnElevar = new javax.swing.JButton(); //botón potencia jLabel3 = new javax.swing.JLabel();

5

Page 6: Informe tecnico unidad 3

jLabel4 = new javax.swing.JLabel(); lblResultado = new javax.swing.JLabel(); //label de resultado jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

//etiquetas para denotar el numero 1 y el numero 2 jLabel1.setText("Número 1:"); jLabel2.setText("Número 2: ");

btnSuma.setText("Suma"); //texto que aparece en el boton suma btnSuma.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSumaActionPerformed(evt); } });

btnResta.setText("Resta"); //boton de resta btnResta.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnRestaActionPerformed(evt); } });

btnProducto.setText("Multiplicar"); //boton de multiplicacion btnProducto.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnProductoActionPerformed(evt); } });

btnElevar.setText("Elevar"); //boton de potenciación btnElevar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnElevarActionPerformed(evt); } });

jLabel3.setText("Bievenido a esta mini-aplicación");

jLabel4.setText("Resultado");

lblResultado.setText("Resultado");

6

Page 7: Informe tecnico unidad 3

jButton1.setText("Salir"); //boton de salida jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } });

//texto generado por netbeans para la configuración de la ventana de usuario javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(34, 34, 34) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(btnElevar) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton1)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(jLabel1) .addGap(18, 18, 18) .addComponent(txtn1)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnSuma) .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(24, 24, 24) .addComponent(btnResta)) .addGroup(layout.createSequentialGroup()

7

Page 8: Informe tecnico unidad 3

.addGap(18, 18, 18) .addComponent(lblResultado)) .addGroup(layout.createSequentialGroup() .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtn2, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(12, 12, 12)))) .addGap(21, 21, 21) .addComponent(btnProducto)) .addGroup(layout.createSequentialGroup() .addGap(99, 99, 99) .addComponent(jLabel3))) .addContainerGap(94, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel3) .addGap(28, 28, 28) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(txtn1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(txtn2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblResultado)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 46, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnSuma)

8

Page 9: Informe tecnico unidad 3

.addComponent(btnResta) .addComponent(btnProducto)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnElevar) .addComponent(jButton1)) .addGap(16, 16, 16)) );

pack(); }//todo lo anterior es código generado por netbeans la cual sirve para la configuración de la ventana de usuario

private void btnSumaActionPerformed(java.awt.event.ActionEvent evt) { a = Double.parseDouble(txtn1.getText()); //obtiene el valor de la caja de texto para el número1 b = Double.parseDouble(txtn2.getText()); /obtiene el valor de la caja de texto para el número 2 double sum = aux.suma(a, b); se declara la variable suma, la cual es igual al valor generado por el método suma lblResultado.setText(String.valueOf(sum)); //se muestra el valor de la variable suma en la etiqueta resultado }

private void btnRestaActionPerformed(java.awt.event.ActionEvent evt) { a = Double.parseDouble(txtn1.getText()); //obtiene el valor de la caja de texto para el número1 b = Double.parseDouble(txtn2.getText()); /obtiene el valor de la caja de texto para el número 2 double resta = aux.resta(a, b); se declara la variable resta, la cual es igual al valor generado por el método resta

lblResultado.setText(String.valueOf(resta)); //se muestra el valor de la variable resta en la etiqueta resultado

}

private void btnProductoActionPerformed(java.awt.event.ActionEvent evt) {

9

Page 10: Informe tecnico unidad 3

a = Double.parseDouble(txtn1.getText()); //obtiene el valor de la caja de texto para el número1 b = Double.parseDouble(txtn2.getText()); /obtiene el valor de la caja de texto para el número 2

double mul = aux.producto(a, b); // se declara la variable mul, la cual es igual al valor generado por el método producto

lblResultado.setText(String.valueOf(mul)); //se muestra el valor de la variable mul en la etiqueta resultado

}

private void btnElevarActionPerformed(java.awt.event.ActionEvent evt) { a = Double.parseDouble(txtn1.getText()); //obtiene el valor de la caja de texto para el número1 b = Double.parseDouble(txtn2.getText()); /obtiene el valor de la caja de texto para el número 2

double elevacion = aux2.potencia(a, b); // se declara la variable elevacion, la cual es igual al valor generado por el método potencia

lblResultado.setText(String.valueOf(elevacion)); //se muestra el valor de la variable elevacion en la etiqueta resultado

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); //boton de salida }

/** * @param args the command line arguments */

//método main para llamar la Clase Calculadora public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

10

Page 11: Informe tecnico unidad 3

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Calculadora.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Calculadora.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Calculadora.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Calculadora.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold>

/* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Calculadora().setVisible(true); } }); }

// Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnElevar; private javax.swing.JButton btnProducto; private javax.swing.JButton btnResta; private javax.swing.JButton btnSuma; private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1;

11

Page 12: Informe tecnico unidad 3

private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel lblResultado; private javax.swing.JTextField txtn1; private javax.swing.JTextField txtn2; // End of variables declaration//GEN-END:variables}

ConclusionesConclusión Angel Felipe Suaste TuzEn esta aplicación fue prácticamente la creación y el uso de una librería.Fueron dos proyectos, uno fue la librería el otro fue un proyecto donde se utilizó la librería.Crear una librería es sencillo es como crear una clase normal, solo se debe convertir en .jar par luego importarlo en otros proyecto.Utilizar una librería es sencillo, creamos un proyecto nos vamos a sus propiedades de proyecto y allí importamos la librería.Una vez importado allí solo basta usar la palabra import seguido del nombre de la librería en las clases que usen dicha librería.

Conclusión Carla Balam MéndezEsta aplicación se trata de una calculadora básica que realiza operaciones como suma, resta, división, multiplicación y potenciación. En la cual implementamos una librería llamada paquetematematica. hubo instancia de objetos, configuración de ventana de usuario por parte de netbeans.

Se utilizó componentes que son elementos básicos de una interfaz gráfica. Ejemplos de componentes son: los botones, las barras de desplazamiento, las etiquetas, las listas, las cajas de selección o los campos de texto, entre otros. Se utilizó los paquetes que son el mecanismo por el que Java permite agrupar clases, interfaces, excepciones y constantes. De esta forma, se agrupan conjuntos de estructuras de datos y de clases con algún tipo de relación en común.

Con la idea de mantener la reutilización y facilidad de uso de los paquetes desarrollados es conveniente que las clases e interfaces contenidas en los mismos tengan cierta relación funcional. De esta manera los desarrolladores ya tendrán una idea de lo que están buscando y fácilmente sabrán qué pueden encontrar dentro de un paquete.

12

Page 13: Informe tecnico unidad 3

Conclusión Bella Areli Perez GomezEn la realización del programa se crearon y usaron librerías; Esta aplicación es de una calculadora básica que realiza diversas operaciones. En la cual implementamos una librería llamada paquetematematica.Se implementaron métodos de elementos básicos de una interfaz gráfica para cuya elaboración, ejemplo de ello serian listados. Botones, espacios de texto, introducción de filas y columnas entre otros.De igual manera se utilizaron diversos tipos de paquetes en el que java permite agrupar clases con algún tipo de relación en común. La utilización de las paqueterías facilitaron las líneas de código al igual que la lectura.Es primordial que los paquetes estén relacionados.

Conclusión Miriam Candelaria Poot Pech

Para realizar este programa fue necesario implementar una librería llamada paquetematematica, la cual fue necesaria para la creación del mismo, esta herramienta es más que nada una ventaja para evitar escribir más líneas de código para realizar las mismas operaciones, es decir cuando se realizan operaciones semejantes se puede agrupar y comprimir en paquetes para poder usar solo las necesarias.El uso de esta librería fue muy útil ya que esta aplicación es una calculadora que resuelve operaciones básicas como suma, resta, multiplicación y división y potenciación.En este caso empleamos componentes siendo este los elementos básicos de una interfaz gráfica, algunos ejemplos como:Los botones, las barras de desplazamiento, las etiquetas, las listas, las cajas de selección o los campos de texto, etc.Los componentes permiten que el usuario pueda interactuar con el programa y de esta manera proporcionar datos del programa al usuario.

También utilizamos paquetes una herramienta en el que Java permite agrupar clases con algún tipo de relación en común, en general un paquete es un conjunto de operaciones que se agrupan como una biblioteca de uso, es importante que tengan cierta relación funcional, de esta manera será más fácil tener una idea de lo que contiene un paquete.

Conclusión Irving Saul Che CanulEn esta aplicación se utilizó la implementación de métodos, lo métodos en esta aplicación fueron usados para asignar datos a los campos usados, de igual manera existen método propios de cada clase utilizada como los métodos de la clase table, en este caso la implementaremos para la creación de filas y columnas.

13

Page 14: Informe tecnico unidad 3

El interfaz que se maneja permite la visualización de una forma más grafica para la manipulación de los datos, existen partes que no pueden ser manipuladas por el usuario final, los campos generados se almacenan en una base de datos, la cual fue creado mediante arreglos. La utilización de paqueterías hizo más fácil la programación, y la lectura de líneas de código.

· Usuarios· Tablas· Columnas

Entre otras fueron usadas para la pequeña tabla de empleados.

Conclusión Luis Antonio Chan Chuc

En esta aplicación se utilizó la interfaz gráfica al igual que la unidad anterior, la diferencia es que en esta unidad es más avanzado, la aplicación se trata de una calculadora que realiza operaciones básicas, en la cual se utilizó componentes y librerías, como la librería “paquetematematica”, al igual se aplica lo que es instanciar objetos; al igual se utilizó objetos gráficos como botones, barras de desplazamiento, cajas de selección, etiquetas.Así como va creciendo o dependiendo del tamaño de la aplicación se necesita reutilizar ciertos componentes, esto es con la finalidad de mantener el orden de la codificación; y es cuando se utilizan las librerías o (packeges). Estos paquetes deben de tener una relación entre sí para que se pueda utilizar.

Conclusión generalEsta aplicación se trata de una calculadora básica que realiza operaciones como suma, resta, división, multiplicación y potenciación. en la cual implementamos una librería llamada paquetematematica. En esta unidad la dimos continuidad al uso de componentes. Un componente es el elemento básico de una interfaz gráfica. Los componentes permiten al usuario interactuar con la aplicación y proporcionar información desde el programa al usuario sobre el estado de la aplicación. Ejemplos de componentes son: los botones, las barras de desplazamiento, las etiquetas, las listas, las cajas de selección o los campos de texto, entre otros.

También utilizamos paquetes. Los paquetes en Java son una manera de organizar nuestras clases, ya sea por finalidad, por su relación con la herencia que tienen, etc. Pasos para crear una librería:

14

Page 15: Informe tecnico unidad 3

1. Crear un proyecto tipo librería en netbeans.2. Se crean las clases y se modifican los métodos de las clases.3. Una vez que este todo terminado se compila el proyecto, para detectar errores, si no tiene errores se procede a convertir en archivo .jar el proyecto.

Usar una librería en un proyecto:

1. Se crea el proyecto.2. Se importa la librería en las propiedades del proyecto.3. En las clases donde se va a usar la librería se escribe import.

En cuanto a las librerías. Conforme empieza a crecer un desarrollo de Software surge la necesidad de reutilizar ciertos componentes que ya han sido escritos, así como dar cierta estructura para mantener una organización de código; al igual que otros lenguajes, esta organización se lleva a cabo mediante librerías, denominadas "packages" en el mundo de Java. .

15