reporte unidad2
TRANSCRIPT
Instituto Tecnológico Superior de Felipe Carrillo
Puerto
Ingeniería en Sistemas Computacionales
Materia: Tópicos Avanzados de Programación
Docente: Dr. Niels Henryk Aranda Cuevas
Reporte Técnico
Unidad 2: Interfaz Gráfica de Usuario (GUI)
Integrantes:
Chable Pat Jhonny Gabriel
Balam Yam Wilberth
Ayala Mutul Ezer Abizai
Vega Segura Adrián Asís
Poot Tuz Efraín Antonio
Aké Pech Jorge Manuel
Semestre: 4th
Aula: J-3 Grupo: “a”
Ciclo Escolar: Enero – Julio
Unidad 2: Interfaz Gráfica de Usuario (GUI)
Aplicaciones de escritorio
Una aplicación de escritorio (desktop) está pensada para ser utilizada por un
usuario que está interconectado a un sistema común en una red LAN. La
base de datos se encuentra generalmente creada en un servidor común y los
aplicativos en su propia máquina a través de un archivo ejecutable (EXE).
Todos los usuarios comparten los mismos datos, por lo que la aplicación
debe manejar eficientemente la concurrencia que se presenta en este tipo de
aplicaciones.
Los componentes de una aplicación de escritorio (desktop) van desde los controles
que Netbeans proporciona (tales como etiquetas, cajas de texto, botones de
comando, listas, tablas, entre otros) como las bibliotecas de clase que implementan
la lógica de aplicación o de datos en el aplicativo.
A continuación se desarrollará una aplicación que utiliza algunos de estos controles:
El siguiente ejemplo realiza la captura de datos de empleados de una compañía en
tablas. Al registrarse el empleado, se puede visualizar en la tabla sus datos, además
se pueden eliminar estos registros.
Primero crear un proyecto nuevo, y dentro del proyecto crear un nuevo JFrame con
el nombre de frmMenu.
La primera clase presenta el siguiente diseño: Básicamente será el menú que
contendrá el enlace al JInternalframe.
Agregue ahora un nuevo formulario (JInternalFrame) de nombre
frmMantEmpleados. Y agréguele los siguientes objetos:
Ahora corresponde programar los objetos del formulario, inclusive éste. Inicialmente
se escribe el código que se encuentra en el formulario principal (declaración de
variables):
Codigo:
public class frmMantEmpleados extends javax.swing.JInternalFrame {
private int anyoActual, fila;
Object []filas=new Object[6];
javax.swing.table.DefaultTableModel modeloTabla;
public frmMantEmpleados() {
this.modeloTabla = new javax.swing.table.DefaultTableModel();
initComponents(); //inicialización de componentes en el formulario
CargarAnyos(); //método para cargar años en el ComboBox
configurarModelo(); //método para configurar el encabezado de la tabla (JTable)
detEdad(); //método para calcular la edad de un empleado }
private void CargarAnyos() {
int i;
javax.swing.DefaultComboBoxModel modeloCombo = new
javax.swing.DefaultComboBoxModel();
java.util.Calendar fecha= java.util.Calendar.getInstance();
anyoActual=fecha.get(java.util.Calendar.YEAR);
for (i=1950;i<anyoActual;i++){
modeloCombo.addElement(i);
}
cmbAnyos.setModel(modeloCombo);
}
private void configurarModelo() {
modeloTabla.addColumn("Nombre");
modeloTabla.addColumn("Apellidos");
modeloTabla.addColumn("Año");
modeloTabla.addColumn("Edad");
modeloTabla.addColumn("Sexo");
modeloTabla.addColumn("Areas");
}
private void detEdad() {
int edad= anyoActual-
Integer.parseInt(cmbAnyos.getSelectedItem().toString());
lblEdad.setText(String.valueOf(edad));
}
private void detDatos() {
String AInteres="";
filas[0]=txtNombre.getText();
filas[1]=txtApellido.getText();
filas[2]=cmbAnyos.getSelectedItem().toString();
filas[3]=lblEdad.getText();
if (rdMasculino.isSelected()){filas[4]="Masculino";}
else{filas[4]="Femenino";}
if (chkFutbol.isSelected())AInteres=chkFutbol.getText()+",";
if (chkVoleiball.isSelected())AInteres=chkVoleiball.getText()+",";
if (chkOtro.isSelected())AInteres=AInteres + txtOtro.getText();
filas[5]=AInteres;
}
Código para el botón btnAgregar:
private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) {
detDatos();
modeloTabla.addRow(filas); //carga el modelo con los datos obtenidos
tabEmpleados.setModel(modeloTabla); //carga el modelo en JTable
}
Código para el botón btnModificar:
private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {
detDatos();
for(int i=0;i<6;i++) //para las 6 columnas de la table
modeloTabla.setValueAt(filas[i],fila,i);
tabEmpleados.setModel(modeloTabla);
}
Código para el botón btnEliminar:
private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {
modeloTabla.removeRow(fila);
tabEmpleados.setModel(modeloTabla);}
Código para la tabla tabEmpleados:
private void tabEmpleadosMouseClicked(java.awt.event.MouseEvent evt) {
fila=tabEmpleados.rowAtPoint(evt.getPoint());
}
Código para el botón btnCerrar:
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
Código para el combobox cmbAnyos:
private void cmbAnyosItemStateChanged(java.awt.event.ItemEvent evt) {
detEdad();
}
CONCLUSIÓN
BALAM YAM WILBERTH:
En esta segunda unidad, abarcamos el desarrollo de software a partir de interfaces
gráficas, lo mencionado anteriormente es de gran utilidad en el desarrollo de
software para el ámbito laboral, ya que es una manera más agradable, para que el
usuario interactúe el con el sistema, y el conocimiento adquirido nos abrirá más
puertas en el ámbito laboral.
POOT TUZ EFRAIN ANTONIO
Aprendimos mucho acerca de la programación, el profesor nos pasó algunos
documentos para hacer en clase, nos explicaban como crear algunas aplicaciones
desde cero, una vez terminadas se lo mostrábamos. Además utilizamos lo
aprendido para ponerlo en el proyecto integrador. Las interfaces que vimos en clase
fueron de ayuda durante todo el semestre.
AYALA MUTUL EZER ABISAI
Durante esta segunda unidad vimos muy poca teoría y no fuimos más con la
práctica, sin embargo, alcanzamos a ver algunos conceptos básicos acerca de las
aplicaciones de escritorio. Como siempre estuvimos leyendo algunos documentos
proporcionados por el profesor y resolviendo nuestras dudas con él. Los programas
los estuvimos haciendo en el salón y una vez terminados, mostrábamos los
resultados. También aprendimos muchas cosas que nos sirvieron y tuvimos que
implementar en el proyecto integrador. Esta unidad estuvo bastante interesante
porque trabajamos con interfaces.
AKE PECH JORGE MANUEL
En esta segunda unidad de interfaz gráfica de usuario, nos salíamos de la
monotonía del código para adentrarnos a los que son las interfaces en java con el
IDE Netbeans. Dentro de las funciones que nos puede ofrecer Netbeans se
encontraban muchos componentes para que la interfaz fuera la más adecuada
dependiendo de lo requerido. Trabajamos con etiquetas, combobox, cajas y demás
componentes para realizar diferentes aplicaciones que el profesor marcaba y
también lo utilizamos en nuestro proyecto integrador.
VEGA SEGURA ADRIÁN ASIS
En esta segunda unidad comenzamos viendo las aplicaciones de escritorio,
empezamos a adentrar a lo que es las interfaces y aprendimos las funciones que
nos provee NetBeans. Estuvimos trabajando los componentes como las cajas de
texto, etiquetas, paneles, botones, etc.
Aprendimos a diferenciar sus funciones y a implementarlas en nuestros software's.
Lo visto nos fue de mucha ayuda en el proyecto del Centro de Cómputo y gracias a
ello pudimos adecuar nuestra interfaz gráfica a lo que solicitaba el encargado
Cornelio. Todo lo que vimos durante la unidad nos será de mucha ayuda para
futuros proyectos y tareas, y no solo eso, sino también nos ayudará en el ámbito
laboral.
CHABLE PAT JHONNY GABRIEL
Con toda la información que encontramos en internet podemos ampliar nuestros
conocimientos y mejorar todo lo que vimos en esta unidad. Es importante conocer
cómo funcionan las interfaces graficas de un programa, ya que de esta forma
podemos diseñar cualquier sistema que nos propongamos. Esto es necesario ya
que la mayoría de las empresas necesitan de un sistema funcionando para
respaldar toda la información que maneja. Saber sobre esto nos vendría bien en
cualquier campo de trabajo, ya que sin importar el tipo de trabajo que halla, pues ya
contamos con esos conocimientos. Solo es cuestión de adaptar esos conocimientos
con lo que se requiera.