Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Informe tecnico unidad 2
1. 1
Instituto Tecnológico Superior
de Felipe Carrillo Puerto
Informe Técnico de la unidad 2
Ingeniería en sistemas computacionales
Tópicos Avanzados de programación
Unidad 2. Interfaz gráfica de usuario (GUI)
Realizado por
Angel Felipe Suaste Tuz
Carla Balam Méndez
Bella Areli Perez Gomez
Miriam Candelaria Poot Pech
Irving Saul Che Canul
Luis Antonio Chan Chuc
2. 2
Formulario Menu del programa Mantenimiento de empleados
Formulario MantEmpleados del programa Mantenimiento de empleados
Conclusiones
Conclusión Angel Felipe Suaste Tuz
Conclusión Carla Balam Méndez
Conclusión Bella Areli Perez Gomez
Conclusión Miriam Candelaria Poot Pech
Conclusión Irving Saul Che Canul
Conclusión Luis Antonio Chan Chuc
Conclusión general
3. 3
Programa “Mantenimiento de empleados”
Formulario Menu del programa Mantenimiento de empleados
package aplicacionempleados; //nombre del paquete
public class Menu extends javax.swing.JFrame { //inicio de la clase Menu
//Menu es subclase de JFrame
public Menu() { //constructor Menu
initComponents();
setSize(300,300);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-
BEGIN:initComponents
private void initComponents() { //inicio del método initComponents
//en este método se crean todos los componentes de la ventana
PanelInterno = new javax.swing.JDesktopPane();
jMenuBar1 = new javax.swing.JMenuBar(); //se instancia el MenuBar
jMenu1 = new javax.swing.JMenu(); //se instancia el primer Menu
jMenuItem1 = new javax.swing.JMenuItem(); //se crea el primer submenu
jMenuItem2 = new javax.swing.JMenuItem(); //se crea el segundo submenu
jMenu2 = new javax.swing.JMenu(); //se instancia el segundo Menu
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); // para
cerrar la aplicacion
jMenu1.setText("Formularios"); //se agrega texto a mostrar al menu1
jMenuItem1.setText("Mantenimiento de Empleados"); //se agrega texto a mostrar al
submenu del menu1
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuItem2.setText("Salir"); //se agrega texto a mostrar al menu2
5. 5
private void jMenu2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_jMenu2ActionPerformed
}//GEN-LAST:event_jMenu2ActionPerformed
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_jMenuItem2ActionPerformed
Salir();
}//GEN-LAST:event_jMenuItem2ActionPerformed
/**
* @param args the command line arguments
*/
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.
* 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(Menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
6. 6
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}
private void Llamar() { //se crea el metodo Llamar, la cual llama al formulario
MantEmpleados
new MantEmpleados().setVisible(true);
} //fin del método LLamar
private void Salir() { //se crea el método Salir(), la cual permite salir de la aplicación.
System.exit(0);
} //fin del metodo Salir().
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JDesktopPane PanelInterno;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
// End of variables declaration//GEN-END:variables
}
7. 7
Formulario MantEmpleados del programa Mantenimiento de
empleados
package aplicacionempleados; //paquete de la clase
public class MantEmpleados extends javax.swing.JFrame { //inicio de la clase MantEmpleados
private int anioActual, fila; //declaracion de variables anioActual y fila como enteros
Object[]filas=new Object[6]; //creacion del arreglo filas de la clase Object
javax.swing.table.DefaultTableModel modeloTabla= new
javax.swing.table.DefaultTableModel(); //instaciación del objeto modeloTabla
/** Creates new form FrmMantEmpleados */
public MantEmpleados() { //contructor MantEmpleados
initComponents();
CargarAnios (); //llamada al metodo CargarAnios()
ConfigurarModelo(); //llamada al metodo ConfigurarModelo()
detEdad(); //llamada al metodo detEdad()
} //fin del contructor MantEmpleado
void CargarAnios (){ //inicio metodo CargarAnios()
int i;
javax.swing.DefaultComboBoxModel modeloCombo= new
javax.swing.DefaultComboBoxModel(); //instanciar objeto modeloCombo
java.util.Calendar fecha= java.util.Calendar.getInstance(); //instaciar objeto fecha de la
clase Calendar
anioActual=fecha.get( java.util.Calendar.YEAR); //asignacion de la fecha a la variable
anioActual
for (i=1950;i<anioActual;i++){ //ese for genera las fechas para el combo box
modeloCombo.addElement(i);
} //fin del for
cmbAnios.setModel(modeloCombo);
8. 8
} //fin del metodo CargarAnios()
void ConfigurarModelo(){ //inicio del metodo ConfigurarModelo
modeloTabla.addColumn("Nombre");
modeloTabla.addColumn("Apellidos");
modeloTabla.addColumn("Año");
modeloTabla.addColumn("Edad");
modeloTabla.addColumn("Sexo");
modeloTabla.addColumn("Área recreativo");
//este método pone nombre a las columnas de la tabla
} //fin del metodo ConfigurarModelo
void detEdad(){ //inicio del metodo detEdad()
int edad = anioActual-Integer.parseInt(cmbAnios.getSelectedItem().toString());
txtEdad.setText(String.valueOf(edad));
//el siguiente metodo determina la edad actual del empleado, con solo introducir el año de
nacimiento.
}//fin del metodo detEdad()
void detDatos() { // inicio del metodo detDatos
String AInteres=""; //variable tipo cadena que va a guardar el interes del empleado
filas[0]=txtNombre.getText(); //se asigna el nombre del empleado en la columna nombre
filas[1]=txtApellidos.getText(); //se asigna el apellido del empleado en la col apellidos
filas[2]=cmbAnios.getSelectedItem().toString(); // se asigna año de nacimiento del empleado
filas[3]=txtEdad.getText(); //se asigna edad del empleado
if (rdMasculino.isSelected()){ //el siguiente if determina el sexo del empleado
filas[4]="Masculino"; //se asigna Masculino si se seleciona masculino en los radio button
}
else
filas[4]="Femenino"; //se asigna Femenino si en caso de no haberse seleccionado
Masculino
if (chkFutbol.isSelected()){ //este otro if asigna el interes del empleado depiendo del valor
seleccionado en las cajas de texto
AInteres=chkFutbol.getText();
filas[5]=AInteres; //asigna el interes (futbol) del empleado en la columna interes
}
9. 9
if (chkVolleyball.isSelected()){
AInteres=chkVolleyball.getText();
filas[5]=AInteres; /asigna el interes (volleyball) del empleado en la columna interes
}
if (chkOtros.isSelected()){
AInteres=chkOtros.getText(); // aqui se guarda un interes personalizable del usuario
filas[5]=AInteres; //se asigna el interes personalizable en la columna Interes del empleado
}
} //fin del metodo detDatos()
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-
BEGIN:initComponents
//codigo de los componentes del formulario generado por Netbeans
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
buttonGroup1 = new javax.swing.ButtonGroup();
lblEdad = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
txtNombre = new javax.swing.JTextField();
txtApellidos = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
cmbAnios = new javax.swing.JComboBox();
jLabel4 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
rdFemenino = new javax.swing.JRadioButton();
rdMasculino = new javax.swing.JRadioButton();
jLabel7 = new javax.swing.JLabel();
chkVolleyball = new javax.swing.JCheckBox();
chkOtros = new javax.swing.JCheckBox();
chkFutbol = new javax.swing.JCheckBox();
txtEdad = new javax.swing.JTextField();
txtOtros = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
lblEmpleados = new javax.swing.JTable();
18. 18
private void Cerrar() { // se inicia el metodo Cerrar()
//metod que termina la aplicación
System.exit(1);
} // fin del metodo Cerrar()
private void clear (){ // inicio metodo clear()
// este metodo limpia las cajas de texto despues de agregar los datos en la tabla
empleados
txtNombre.setText("");
txtApellidos.setText("");
txtEdad.setText("");
CargarAnios ();
} // fin del metodo clea()
}
19. 19
Conclusiones
Conclusión Angel Felipe Suaste Tuz
En la siguiente aplicación se manipularon métodos, de allí la gran importancia de los métodos,
los método son utilizados para determinar la edad del empleado, para asignar los datos del
empleado en la tabla empleados, también existen metodo propios de cada Clase utilizada como
los métodos de la clase Table, la cual sirven para agregar filas, columnas, así como para
eliminar filas y columnas. Aunque el siguiente informe técnico no aborda la importancia de los
métodos es importante hacer la mención que los métodos son fundamentales en el desarrollo
de entornos de usuario.
Ahora en la parte de entorno gráfico, el siguiente programa ayuda a comprender la metodología
de las interfaces de usuario, es decir se tienen tres vistas:
1. La vista interfaz de usuario la cual permite la interacción de los usuarios con la
computadora.
2. La parte de la codificación, parte donde sólo los programadores interactúan.
3. La parte de bases de datos o almacenamiento, en esta aplicación no fue posible por la
deficiencia de conocimiento de las bases de datos, sin embargo utilizando arreglos, se
hizo posible una ejemplificación.
El siguiente programa es un ejemplo de una interfaz de usuario, en este ejemplo es la de un
programa para la manipulación de empleados, pero en el mundo real existen diversos
interfaces de usuario.
Conclusión Carla Balam Méndez
El siguiente programa es un ejemplo de una interfaz de usuario, es un ejemplo de un programa
para la manipulación de empleados.
en este programa manejamos paquetes como javax.swing.JFrame.construimos un menú con
sus respectivos componentes. 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, en esta unidad
intentamos codificar mas los graficos de la aplicación los ya mencionados.
20. 20
para la creación de tablas estuvimos utilizando arreglos , en los objetos en algunas utilizamos
la instanciación de objetos,manejamos constructores y métodos. los métodos se utilizó para
los años y edades. manejamos el for en cuanto a la generación de fechas.
Cabe mencionar que los componentes nunca se encuentran de forma aislada, sino agrupados
dentro de contenedores. Los contenedores contienen y organizan la situación de los
componentes; además, son en sí mismos componentes y como tales pueden ser situados
dentro de otros contenedores.
Conclusión Bella Areli Perez Gomez
En la realización de la interfaz manejamos paquetes como javax.swing.JFrame para la creación
de un menú, el cual permite que el usuario pueda interactuar con el programa y de esta manera
proporcionar los datos almacenados.
La cual se utilizan los siguientes botones:
Ø Para la agregación de los títulos se utiliza LABEL
Ø para los cuadros de texto se utilizó TEXT FIELD
Ø para agregar filas y columna utilizamos TABLE
Ø para la agregación de botones se utilizó BUTTON.
Ø Para señalar o marcar en los botones de nuestro menú se utiliza CHECK BOX
Ø Para el listado de años se utiliza COMBO BOX
Entre otros como tablas del lenguaje java; al igual que los botones se utilizan
contenedores un ejemplo de ello sería el panel el cual se utiliza para la agregación y
como se hace mención lo utilizamos para contener el menú.
Conclusión Miriam Candelaria Poot Pech
En este programa realizamos una interfaz de usuarios con el fin de poder llevar un
control de empleados, en donde se almacenan datos de los mismos como nombre,
apellido, edad e intereses de los empleados. Para lograr esto se manipularon métodos
que fueron para asignar los datos del empleado en la tabla empleados. De igual forma
manejamos paquetes como javax.swing.JFrame con los componentes del mismo fue
creado el menú, el cual permite que el usuario pueda interactuar con el programa y de
esta manera proporcionar los datos almacenados.
Para la creación del programa se utilizaron botones, espacios para agregar texto,
etiquetas de texto, cajas de chequeo, combo box, radio buttons y tablas del lenguaje
java.
21. 21
La opción botton la cual crea botones que podemos utilizar como cerrar, modificar,
agregar, etc., JLabel es el que se utiliza para poder introducir textos. El check box se
utiliza para poder seleccionar opciones con una palomita, se utiliza normalmente en el
momento que tengamos una lista de opciones y queramos saber cuáles les gusta
realizar o utilizar a los usuarios. El combo box lo utilizamos para ingresar un rango
determinado (normalmente de años) para poder seleccionar una opción de ese rango.
Para la creación de tablas empleamos arreglos, por otra parte en los objetos en
algunas utilizamos la instanciación de objetos. Además de utilizar distintos tipos de
botones para realizar el formulario, también empleamos contenedores, el contenedor
que empleamos es el Panel en el cual podemos introducir los botones y los eventos
que queremos que ocurran al realizar un menú. Para poder utilizar estos botones y
contenedores es necesario agregarles nombre para especificar qué tipo de dato
podemos ingresar y como se llama ese campo.esto fue bajado de una red de ayuda
escolar
Conclusión Irving Saul Che Canul
En 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.
El interfaz que se maneja permite la visualización de una forma más gráfica 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
Este programa es un ejemplo de interfaz de usuario, tomando de ejemplo a empleados.
Para ello realizamos un menú con los “objetos gráficos” (es donde se codifica el
programa), algunos ejemplos son: botones y tablas.
Es este programa se utilizó métodos que son muy importantes en el desarrollo del
interfaz como el método Cerrar, Clear; también se utilizó gestores de diseño por
ejemplo Border Layout.
22. 22
El principal uso de la interfaz gráfica, consiste en proporcionar un entorno visual,
sencillo y más fácil de usar y así permitir la comunicación más rápida entre la
computadora y el usuario.
Conclusión general
El siguiente programa proporciona la idea de lo vienen siendo las interfaces de usuario, este
nuestro ejemplo es un aplicación que gestiona los empleados de una empresa,
específicamente gestiona nombres, apellidos, edad e intereses de los empleados.
Para la creación de la aplicación se utilizaron botones, etiquetas de texto, cajas de chequeo,
combo box, radio buttons y tablas del lenguaje java.
La creacion y manipulacion de los métodos fue primordial, fue por medios de los métodos que
se fueron asignando valores a la tabla empleados.
La clase Table tiene sus propios método la cual permite la eliminación de filas y columnas.
También se utilizó gestores de diseño en este caso fue el “Border Layout”.
Una gran cantidad de código fue generado por el editor Netbeans, lo que ayuda a la creación
de aplicación en el menor tiempo posible, sin embargo, esto no quiere decir que cualquier
aplicación puede ser generado en cuestión de minutos, recordemos que el tiempo para el
desarrollo de software se debe a la magnitud del proyecto.