UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 FORMATO DE TRABAJO I. PORTADA UNIVERSIDAD TÉCNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial “Proyecto Académico de Semestre” Título: Ejercicio en el IDE NetBeans sobre los elementos GUI Carrera: Diseño de interfaces Área Académica: Área Genérica Línea de Investigación: Diseño de interfaces Nivel y Paralelo: Cuarto “A” Alumnos participantes: Escobar Montenegro Leonel Fabricio Supe Palate Bryan Paul Módulo y Docente: Diseño de interfaces Ing. Mayorga Franklin II. INFORME DEL PROYECTO 1. PP 2. YY 2.1 Título Ejercicio en el IDE de NetBeans sobre los elementos GUI 2.2 Objetivos • Desarrollar ejercicio sobre los elementos GUI • Conocer el función y aplicación de cada elemento GUI • Identificar conclusiones en base a los ejercicios a realizar 2.3 Resumen La resolución de los ejercicios resueltos, en el presente informe cumplen con el propósito de usar todos los elementos GUI, para poder identificar y determinar el funcionamiento de cada uno de estos. El planteamiento de cada ejercicio se ha resuelto paso a paso, para que no exista dudas con respecto a la resolución, de la siguiente forma incluso se ha llegado a determinar conclusiones por cada uno de los ejercicios desarrollados a través del IDE NetBeans e incluso se ha llegado a utilizar los parámetros de una buen interfaz, para que de esta manera el usuario no se sienta intimidado, por ejemplo la centralización de código, uso de layouts, principios del uso de tipos de ventanas y agregando los parámetros del buen uso con respecto a una interfaz usable. 2.4 Palabras clave: GUI, IDE, NetBeans, JAVA, Interfaces, Diseño 2.5 Introducción Los elementos GUI dentro del IDE NetBeans, permiten el desarrollo de GUIs con componentes AWT y Swing de forma gráfica, ya que dispone de un inspector de UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 componentes que permite visualizar el árbol de componente y a su vez las propiedades de los mismos. Esta forma de desarrollo es a través de drag y drop de los componentes cuyo propósito es facilitar el alineamiento y posicionamiento de los componentes e incluso permite configurar las propiedades de cada componente y asignar gestor de eventos. 2.6 Materiales y Metodología Ejercicio 1: 1. Crear un nuevo proyecto con cualquier nombre que se disponga asignar 2. Se crea un JFrame 3. Inserta un JLabel donde se cambiará el nombre que se asigna por defecto por “Título:” UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 4. Se añade un jTextField el cual primero se le cambiara de nombre por txtTitulo y se elimina el nombre que viene en la interfaz para que queda en blanco. 5. Se añade un jButton el cual servirá para al momento de darle clic cambiará el título que posee la ventana, ponemos el nombre de btnCambiarTitulo y en el nombre del botón para la interfaz se le designará como “Cambiar Título” UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 6. Se dirige a programar el botón “Cambiar Título”, para ello se le dará doble clic sobre el botón y de esta forma conducirá al código del programa, se escribirá dentro del btnCambiarTituloActionPerformed el siguiente código: String titulo = txtTitulo.getText(); setTitle(titulo); txtTitulo.setText(""); Detalle: si se pone atención al código primero se esta recibiendo el texto del txtTitutlo y seguido cuando ya se envíe al Título de la ventana el txtTitulo volverá a estar vacío, en caso de que no se asigne ningún valor la ventana no cambiará de título: 7. Antes de continuar con el siguiente paso, se hará que la aplicación al ejecutarse empiece en el centro de la ventana con el siguiente código: UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 setLocationRelativeTo(null); Para que de esta forma el programa cuando se ejecute aparezca en el centro de la pantalla. 8. Se crean tres botones con las siguientes etiquetas para cada uno: btnMinimizar, btnRestaurar, btnMaximizar. A estos se le puede cambiar el nombre que tendrán en la interfaz de igual manera. 9. Seguido se procede a programar cada uno de los botones: - Botón Minimizar: setExtendedState(ICONIFIED); - Botón Restaurar (se considera al botón restaurar que igual al momento de dar clic debe regresar a su posición central en la pantalla): Botón Maximizar: setExtendedState(MAXIMIZED_BOTH). setLocationRelativeTo(null).getSize(). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Dimension tamaño = preferredSize(). Se pondrá un jLabel con el siguiente nombre “Posición X . setSize(tamaño). Al escribir este código en Dimension tamaño = preferredSize(). Y ” de esta manera al usuario se le está facilitando el poder identificar que en esa parte se puede mover la ventana por toda la pantalla. 10. se realizará una validación en cada jTextField para que solo se ingrese enteros. también se añade dos jTextField con los siguientes nombre: txtPosiciónX. pero solamente se debe importar. txtPosiciónY. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. se le esta asignando el valor que tiene por defecto la ventana que se está realizando el JFrame. Para asignar la validación se procederá de la siguiente manera: . .getSize(). de igual manera aparecerá un error. getScreenSize(). if (txtPosicionX.consume().getText(). Dimension tamaño = tk.showMessageDialog(null.getText().pero ahora con txtPosicionY. if (txtPosicionX.getDefaultToolkit(). el cual se cambiara de nombre por btnMover. se debe controlar cual es el tamaño de la pantalla.equals("")) { JOptionPane. se agrega un botón.getText(). . se realiza lo mismo. } Detalle: donde dice txtPosicionXesta recibiendo desde la interfaz el valor.consume(). para esto. } if ((car < '0' || car > '9')) { evt. Se añade un jLabel que más adelante se usara como una advertencia en la interfaz. en el cual se está ejecutando el programa con sl siguiente código: Toolkit tk = Toolkit.getKeyChar(). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Y en ambos jTextField se pondrá el siguiente código: char car = evt. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. "Ingrese valores para X Y ").length() >= 4) { evt.equals("") &&txtPosicionY. setText(""). UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.getHeight()). txtPosicionX.setText(""). } } Aparecerán ciertas librerías que se deberán importar al proyecto: .setText("").getHeight())) { JOptionPane.getText()).getWidth()) && (alto >tamaño. txtPosicionY.showMessageDialog(null. txtPosicionY. int alto = Integer.valueOf(txtPosicionX. if ((ancho >tamaño.getText()). } else { setLocation(ancho.valueOf(txtPosicionY.setText("Maximo= X: " + tamaño.getWidth() + ". "La dimension de su pantalla no permite esta posicion"). mensajeTamaño.setText(""). alto). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 } else { int ancho = Integer. txtPosicionX. Y: " + tamaño. 11. btnEstiloWindows de la siguiente manera: En cada botón se procederá a programar con el siguiente código: . bntEstiloJava. Se asignará un jPanelcon título “Estilos”en el cual contendrá tres diferentes botones: bntCentrar. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Detalle: el JLabel que antes se mencionó. servirá para notificar al usuario que su pantalla supera los límites que él ha insertado para mover alrededor de la misma. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. break.util. ex). } catch (InstantiationException ex) { java.log(java. null.util.util. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.setVisible(true).equals(info.log(java. ex). Botón Estilo Java (este estilo viene por defecto en el IDE. .getClassName()).swing.logging. this. } En caso de que sea necesario importar las librerías hacerlo. entonces se procede a cambiar a un diferente estilo): try { for (javax.SEVERE. ex).UIManager.UIManager. } catch (javax.UnsupportedLookAndFeelException ex) { java.getName())) { .class.logging.getInstalledLookAndFeels()) { if ("Nimbus".LookAndFeelInfoinfo : javax.getLogger(Ejercicio1.util.getLogger(Ejercicio1.Logger.swing.getName()).UIManager. } } } catch (ClassNotFoundException ex) { java.util.UIManager.getName())) { javax.logging.log(java.swing.log(java.logging.logging.Le vel.Logger.swing.getName()).Logger. nuevo.Logger.getName()).SEVERE.class.SEVERE.getInstalledLookAndFeels()) { if ("Windows". Ejercicio_1 nuevo = new Ejercicio_1().class. } catch (IllegalAccessException ex) { java.logging. null.logging.hide().util. .SEVERE.getLogger(Ejercicio1.swing.getLogger(Ejercicio1.equals(info. Botón Estilo Windows try { for (javax.UIManager. ex).class.swing.setLookAndFeel(info. null. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 . Botón Centrar: setLocationRelativeTo(null).Le vel.logging.getName()).util.LookAndFeelInfoinfo : javax.Le vel.Le vel. null.util. Le vel. nuevo.Le vel.util.util.setVisible(true). ex). null.Logger. } } } catch (ClassNotFoundException ex) { java.log(java.UnsupportedLookAndFeelException ex) { java.SEVERE.Logger.logging. } catch (IllegalAccessException ex) { java.Logger.util.logging.util.Le vel. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 javax.class. break.log(java.logging.hide().log(java. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.util.getName()).getLogger(Ejercicio1.logging. ex).SEVERE.util.getLogger(Ejercicio1.class.util. ex). null.class.UIManager. null. this.Le vel.logging.getName()).log(java. ex).SEVERE. } catch (javax.logging.setLookAndFeel(info.SEVERE.logging.getName()).swing.getName()).getLogger(Ejercicio1.getLogger(Ejercicio1. } Obteniendo la interfaz de la siguiente manera: Estilo Windows: Estilo Nimbus: . } catch (InstantiationException ex) { java. Ejercicio_1 nuevo = new Ejercicio_1().class.util.logging.Logger.swing. null.getClassName()). Botón Color: Se debe primero crear una variable global Color y también importar la librería de dicha variable . con el nombre Color Fondo. 12. un botón btnColor. Este código permite cambiar de estilo. un jPanel donde aparecerá el color que se ha elegido como fondo y seguido el botón bntAceptar. Se añade un jLabel.setVisible(true). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Detalle: para que se agine los dos diferentes estilos. nuevo. .hide(). en el código se agregó lo siguiente: Ejercicio_1 nuevo = new Ejercicio_1(). pero al mismo tiempo es muy esencial porque para cambiar de estilo debe reiniciar todo el programa. this. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Donde se pondrá el siguiente código: c = JColorChooser. Obteniendo el siguiente resultado: .getBackground()).setBackground(c). Botón Aceptar: this. this.getContentPane(). jPanel3. En caso de que solicite importar las librerías por el JColorChooser hacerlo.setBackground(c). UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.showDialog(this. . "Selecionar color". En el JFrame se debe dirigir a eventos y añadir el siguiente evento: . Para obtener una notificación al momento de cerrar la aplicación al comienzo del programa se pone el siguiente código: Esto servirá para cuando uno desee cerrar la aplicación no lo permita. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 13. } Obteniendo como resultado cuando se va a cerrar la aplicación lo siguiente: . if (op == JOptionPane. "Advertencia". JOptionPane.YES_NO_OPTION).showConfirmDialog(this. "Estas seguro de cerrar la aplicacion". ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 En este evento se procederá a programar lo siguiente: intop = JOptionPane. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.YES_OPTION) { System.exit(0). En el programa se solicita que cuando se va a ingresar a la aplicación una primera interfaz debe aparecer donde. if (contraseña. Se crea un nuevo JFrame en el mismo proyecto.equals(pass)) { Ejercicio_1 ejercicio = new Ejercicio_1().dispose(). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 14. ejercicio. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. this. 16. un jButton (que permite verificar si es o no la contraseña correcta) con el nombre “Aceptar” Siguiente se procederá a codificar el botón “Aceptar” String pass = "hola". el usuario debe loggearse. String contraseña = txtContraseña.setVisible(true). un jLabel (con el título de “Contraseña”). 15. "Contraseña incorrecta").getText().showMessageDialog(null.dispose(). un jTextField (servirá para escribir al contraseña) con el nombre txtContraseña. Se añade lo siguiente: un jLabel (donde se pondrá el título de la aplicación). } else { JOptionPane. } . this. en caso de que la contraseña sea incorrecta el programa se cerrará. 2. en la primera condición del if si la contraseña es correcta la ventana de acceso inmediatamente se cierra y se abre la otra.dispose() tiene una función muy importante. Crear un nuevo proyecto y dentro de este un JFrame. pero en caso de que la contraseña sea incorrecta la ventana inmediatamente se cerrará. Se añade un jPanel con título “Ingredientes” . Ejercicio 2: 1. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Detalle: en el código el this. Dentro de este panel de “Tamaños” se debe añadir 3 jRadioButtons con los siguientes nombres y etiquetas: O“Pequeña”–nombre: optPequenia O“Mediana” –nombre: optMediana O“Familiar” –nombre: optFamiliar 6. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 3. Se crea otro jPanel con borde de título “Tamaños” 5. Para vincular los 3 jRadioButtons al panel “Tamaños” se debe hacer lo siguiente: . UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Dentro de este panel de “Ingredientes” se debe añadir 4 jCheckBox con los siguientes nombre y etiquetas: O“Bacon” –nombre: chkBacon O“Anchoas” –nombre: chkAnchoas O“Cebolla” –nombre: chkCebolla O“Pimiento” –nombre: chkPimiento 4. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Para añadir los jRadioButtons en cada radio jRadioButton se debe elegir el ButtonGroup “Tamaños” de esta forma solo se podrá seleccionar un solo jRadioButton . ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 7. Se modifica el nombre que viene por defecto de la siguiente manera: 8. double total = 0. double p2 = 0.0.0. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.0.0. if (chkBacon. un jTextField sin nombre alguno. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 9. double p5 = 0. Se empieza a programar el botón “Total” con el siguiente código: double p1 = 0. double p4 = 0.50. double p3 = 0.0.isSelected()) { p2 = 1. . Seguido se añade: un jButton con el nombre “Total” y su etiqueta btnTotal.0. pero con la etiqueta etiTotal de la siguiente manera quedará: 10. } if (chkAnchoas.isSelected()) { p3 = 1.00.20. etiTotal. } else if (optMediana. if (chkBacon. } if (chkPimiento.valueOf(total)). } if (optPequeña. } if (chkCebollas. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.isSelected()) { p1 = 11.isSelected()) { chkPimiento.setSelected(false).isSelected()) { chkCebollas. } Tamaños. } total += p1 + p2 + p3 + p4 + p5.isSelected()) { chkBacon. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 } if (chkAnchoas. } if (chkCebollas.80. } if (chkPimiento. .isSelected()) { p1 = 9.setSelected(false).00.isSelected()) { p4 = 1.00.setText(String.isSelected()) { p1 = 7.clearSelection().setSelected(false).isSelected()) { chkAnchoas. } else if (optFamiliar.isSelected()) { p5 = 1.00.setSelected(false). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 11.exit(0).showConfirmDialog(this. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. JOptionPane.YES_OPTION) { System. "Advertencia". if (op == JOptionPane. El programa solicita. . "Estas seguro de cerrar la aplicacion". } Quedando la aplicación de la siguiente manera cuando se desea cerrar la aplicación: Al comienzo del programa igual se debe añadir lo siguiente para que cuando se cierre el programa lo anterior escrito se cumpla. que cuando se vaya a cerrar la aplicación de una notificación de “Esta seguro de cerrar la aplicación” para ello en el JFrame se realiza lo siguiente: Añadido el evento anterior se procede a codificar con el siguiente código: intop = JOptionPane. como el ejercicio 1.YES_NO_OPTION). 15. En este JFrame se añadirá un jButton. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 12. 14. . UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. que permitirá dirigirse a la aplicación de los cálculos. La aplicación solicita una pantalla anterior a la de los cálculos. Obteniendo como resultado la aplicación final: 13. Se crea un nuevo JFrame. Este botón se lo puede hacer que ocupe todo el espacio del JFrame. que tenga. ya sea una imagen y donde se le dé clic inmediatamente dirija al programa principal de los cálculos. ya que con solo dar un clic debe abrirse seguida la otra aplicación. donde ahí se pondrá la imagen que se desea que aparezca en el botón. se añadirá una imagen que se ha realizado de la siguiente manera: Se debe crear un paquete llamado imágenes. Se arrastra la imagen al nuevo paquete creado en este caso “imagenes” 16. Propiedades . . ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Antes de programar el botón. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Se busca la opción que diga icon y se le da en los tres puntos (…) . En el botón se realizará lo siguiente para cargar la ubicación de la imagen. Se procede a programar el botón personalizado. En la siguiente ventana se debe buscar a la ubicación de la imagen que antes ya se la puso en el paquete “imagenes” Seguido se tendrá de la siguiente manera el botón con imagen personalizada: 17. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 . . UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Ejercicio 3: 1. pizza. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Pizzeria pizza = new Pizzeria(). Bajo el jLabel “Productos” se añadirá un jList con los siguientes nombres y la etiqueta lstProductos . Se crea un nuevo proyecto y a su vez dentro de este un JFrame. this.dispose(). otro jLabel como título “Productos” 3. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.setVisible(true). Detalle: se invoca a la clase pizza para así vincularse al momento en que se de un clic. 2. En el JFrame se añadirán los siguientes elementos: un jLabel con el nombre “Gestión de pedidos” que será el titulo de la aplicación. 45 Quedando de la siguiente manera: 4. Se agrega un jLabel con el nombre “Destino:” y al mismo nivel un jComboBox con la etiqueta cboDestino y con sus opciones los siguientes: Península Canarias Extranjero Se agrega un jLabel con el nombre “Tipo Envio:” al mismo nivel un jComboBox con la etiqueta cboTipoEnvio y con sus respectivas opciones: Normal Urgente Quedando de la siguiente manera: . pero con la etiqueta txtUnidades.60 Modem GSM . Además se añade un jLabel con el nombre “Cantidades:” y al mimo nivel un jTextField en blanco.120 Centro de control . UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Sistema de localización . Key KeyTyped.consume().getText(). bajo este se añade un jLabel sin nombre.getKeyChar(). Se añade un jButton con el nombre “Calcular” y su etiqueta btnCalcular.consume(). char car = evt. } . Primero se dará una validación en el campo txtUnidades con el siguiente código: Antes de eso se debe dirigir a Events. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 5. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.length() >= 10) { evt. pero con etiqueta etiResultado el cual servirá de visualizador de los cálculos. 6. if (txtUnidades. } if ((car < '0' || car > '9')) { evt. getText()).equals("Modem GSM .valueOf(txtUnidades.equals(""))) { if (Integer. } if (cboDestino.equals("Peninsula")) { precioD = 20.00 * x.equals("Canarias")) { precioD = 25.00 * x.0. if (!(lstProductos.parseInt(txtUnidades.getSelectedItem(). double precioP = 1.00.getSelectedIndex() == -1)) { double x = Double. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 7. double precioD = 0.60")) { precioP = 60.equals("Centro de control .getSelectedItem(). } .getSelectedValue().getSelectedValue().getSelectedItem().00. double precioE = 0.getSelectedIndex() == -1)) { if (!(cboTipoEnvio.getText()) >= 1) { if (!(cboDestino.0. } if (lstProductos.getSelectedItem().00. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.equals("Normal")) { precioE = 3.isSelectionEmpty())) { if (!(txtUnidades.00. if (lstProductos. Se empieza a programar con el siguiente código el botón “Calcular” double total = 0.getSelectedValue().00 * x.45")) { precioP = 45. } if (cboDestino. } if (cboTipoEnvio.equals("Sistema de localización - 120")) { precioP = 120.0. } if (lstProductos.0. } if (cboDestino.equals("Extranjero")) { precioD = 30.getText(). setText(String. En caso de que no se seleccione un tipo de envíe saldrá una notificación.getSelectedItem(). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 if (cboTipoEnvio.showMessageDialog(null.showMessageDialog(null.setSelectedIndex(-1). } } else { JOptionPane. .setSelectedIndex(-1).valueOf(total)). cboDestino. txtUnidades.setText(null). En caso de que ningún producto este seleccionado debe aparecer una notificación dando a conocer ese detalle. } } else { JOptionPane. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.equals("Urgente")) { precioE = 10. } else { JOptionPane. En caso de que en cantidades este 0 o ni por lo menos 1 saldrá una notificación. } Detalle: en la aplicación solicitada se debe controlar lo siguiente: . } total = precioP + precioE + precioD. } } else { JOptionPane. En caso de que no se seleccione un destino igual saldrá una notificación. . lstProductos. .00.showMessageDialog(null. } } else { JOptionPane. "Escoja un PRODUCTO"). "Seleccione un opcion de TIPO ENVIO").setSelectedIndex(-1). cboTipoEnvio.showMessageDialog(null.showMessageDialog(null. Obteniendo como resultado la aplicación final: . etiResultado. "El valor de UNIDADES es invalido"). "Seleccione un opcion de DESTINO"). "El campo UNIDADES no tiene un valor"). un jButton con nombre “Vaciar” btnVaciar. Se añade un jLabel con el nombre “Meses”. un jButton de nombre “Rellenar” con etiqueta btnRellenar. 2. un jLabel sin nombre (servirá para visualizar los resultados que se desea obtener). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Ejercicio 4: 1. un jPanel de borde con título “Trimestres” y a su vez dentro de este 4 jRadioButton y cada uno con el nombre y etiqueta de la siguiente manera: Trimetre 1 – optTri1 Trimetre 2 – optTri2 Trimetre 3 – optTri3 Trimetre 4 – optTri4 Quedando la interfaz de la siguiente manera: . bajo este. se agrega un jListcon la etiqueta lstMeses. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Se crea un nuevo proyecto y a su vez dentro de este un JFrame. 4. Cada jRadioButton se va añadiendo al grupoTrimestres de la siguiente manera: . ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 3. Se procede a añadir a un ButtonGroup los jRadioButtons de la siguiente manera: Lo modificamos con el nombre de grupoTrimestres. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. .isSelected()) { m.addElement("Enero"). Se procede a programar la lista lstMeses. m. Mouse. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Detalle: se realizo lo anterior con el propósito de que solo se pueda seleccionar solo uno del grupoTrimestres. Se dirige primero a Events.addElement("Febrero"). UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. 5. MouseClicked. if (optTri1. Dentro de este evento se pone el siguiente código: DefaultListModel m = new DefaultListModel(). Se añade el siguiente código en el botón rellenar.addElement("Marzo").isSelected()) { m. lstMeses. } if (optTri3. m.equals("Abril")){ etiMes.getSelectedValue().addElement("Octubre").equals("Enero")){ etiMes. m.setText("Abril"). lstMeses.getSelectedValue(). en ese caso ese modelo permite añadir todos las opciones que se desea en el jList.setText("Febrero").getSelectedValue(). m. if(lstMeses. 6. } if (optTri4.setModel(m). lstMeses. } if(lstMeses.addElement("Agosto").addElement("Diciembre"). m. } if(lstMeses. } if (optTri2.equals("Marzo")){ etiMes.addElement("Noviembre"). UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.addElement("Julio").isSelected()) { m. } if(lstMeses.addElement("Septiembre").setText("Enero").setModel(m). } .addElement("Mayo").setModel(m). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 m.isSelected()) { m.setModel(m).getSelectedValue().equals("Febrero")){ etiMes. } Detalle: en el código el DefaultListModel se debe importar las librerías para evitar errores.setText("Marzo").addElement("Abril"). lstMeses.addElement("Junio"). m. m. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. DefaultListModel m = new DefaultListModel().setText("Septiembre"). Se añade el siguiente código en el botón vaciar.setText("Junio"). } if(lstMeses. } if(lstMeses.setText("Julio").getSelectedValue().setText("Noviembre").getSelectedValue().setModel(m).equals("Agosto")){ etiMes.setText("Diciembre"). } 7.getSelectedValue(). } if(lstMeses. } if(lstMeses. } if(lstMeses. etiMes.equals("Junio")){ etiMes.getSelectedValue().getSelectedValue().equals("Julio")){ etiMes. 8.getSelectedValue().setText("Mayo").equals("Octubre")){ etiMes.equals("Diciembre")){ etiMes.equals("Septiembre")){ etiMes.setText(null).setText("Octubre"). grupoTrimestres.getSelectedValue(). lstMeses.getSelectedValue(). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 if(lstMeses.equals("Mayo")){ etiMes.clearSelection().equals("Noviembre")){ etiMes.setText("Agosto"). } if(lstMeses. Obteniendo como programa final el siguiente: . } if(lstMeses. correspondientemente. 3. del 3 – spiCentenas. Al comienzo del programa se debe añadir el siguiente código: . UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. un jButton con el nombre “Abrir” con etiqueta btnAbrir y finalmente un jLabel sin nombre con etiqueta etiResultado. del 2 – spiDecenas. 2. Se añaden los siguientes elementos 3 jSpinner con las siguientes etiquetas del 1 - spiUnidades . ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Ejercicio 5: 1. Se crea un nuevo proyecto y su vez dentro de este un JFrame. c = new SpinnerNumberModel(). Detalle: este código sirve para que cada jSpinner tenga un máximo y un mínimo de valores que puede llegar a obtener mientras se van cambiando.setMaximum(9). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 setLocationRelativeTo(null). .setMaximum(9). u = new SpinnerNumberModel(). spiCentenas. spiDecenas.u. u.setMinimum(0).d.u. SpinnerNumberModelc.d. c.setModel(d).num. setResizable(false).setMinimum(0).setMaximum(9). c.setModel(c). UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. spiUnidades. u.setMinimum(0). d. d. En el botón btnAbrir se introduce el siguiente código: intc. 4.setModel(u). d = new SpinnerNumberModel(). } 5. d = Integer.setText("El numero secreto es mayor").getValue(). }else{ etiResultado.setText("El numero secreto es menor").toString()).parseInt(spiCentenas.parseInt(spiUnidades. Obteniendo como resultado el programa final. }elseif(num<246){ etiResultado. El presente ejercicio se realizara a base de paneles. Se crea un nuevo proyecto y dentro de este un JFrame. num = (c*100)+(d*10)+u.parseInt(spiDecenas. .getValue().setText("Caja abierta"). Se añade un jPanel al JFrame. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 c = Integer. Ejercicio 6: 1.getValue().toString()).toString()). 2. if(num == 246){ etiResultado. u = Integer. 3. Properties. 5. backGround y ahí se selecciona el color deseado. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. . Se le da el color deseado en este caso sera negro para simular una sombra. En la parte de Navigator se debe añadir otro panel. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 4. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Quedando de la siguiente manera: 6. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Sobre el panel de color plomo se añade un jLabel el cual tenda la funcion de notificar los mensajes que se programaran ams adelante. . 7. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Se lo ubica por todo el jPanel de color plomo. que ocupe todo su espacio y dejando su nombre en blanco. Se da clic derecho sobre elJframe y seleccionaremos el siguiente Layout . UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Detalle: esto servira para que al momento en que se mueva el panel de color plomo sobre su sobra. Se procede a programar el jLabel. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. la sombra no se mueva. pero tomando en cuenta que los siguientes eventos deben estar activados: MouseEntered MouseExited MousePressed MouseReleased . 8. Para activar cada uno de ellos se procede de la siguiente manera . getSize(). . UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.setText("Esta Pulsado"). . Point val = jPanel1.setPreferredSize(val1). . MouseExited jLabel1.getLocationOnScreen().setText("Pulsame"). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 9.setText("Etiqueta"). Dimension val1 = jPanel1. jPanel2. . MouseEntered jLabel1.setLocation(val). Ya activado los anteriores eventos se programa cada uno de ellos: En caso de que el programa solicite importar las librerías de Point y Dimension hacerlo. jPanel2. MousePressed jLabel1. MouseReleased Ejercicio6 nuevo = new Ejercicio6(). ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 . nuevo. 400). 10. Elaborar un JFrame en la carpeta de nuestro proyecto .hide(). Si se desea que al momento de que inicie el programa empiece con el titulo en el jLabel “Etiqueta” hacer lo siguiente. setLocationRelativeTo(null).setVisible(true). Detalle: en el Código de MouseReleased el programa trabaja de forma curiosa. además el siguiente código sirve para que la aplicación comience centrada y no se pueda expandir la ventana jLabel1. setResizable(false). ya que se reiniciará para que la posición del jLabel “Etiqueta” vuelva a su posición inicial. this. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS.setText("Etiqueta"). setSize(400. Ejercicio 7: 1. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Click derecho sobre el jTextField para editar el contenido de su texto (Edit Text) y dejarlo vacio. Este jTextField es el lugar donde se visualizarán los números de la aplicación. Para cambiar el nombre de la variable: Para editar el contenido de su texto: . 4. Además se deberá cambiar el nombre de la variable ( Change variable name …) por el siguiente nombre : jTextField_resultado. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 3. Agregar un jTextField. en este caso deberán ser 10. Colocar el siguiente nombre: jButton_valor del jButton . Agregar los jButton para los números. Click drecho sobre el JButton para cambiar el nombre de la variable. añadir un jButton para borrar. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. Para colocar un valor al jButton. En cada jButton se deberá colocar los números del 0 al 9. Además. se puede modificar el tamaño del jButton a su justo. Además. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 5. Cambiar el nombre de variable del jButton BORRAR por el siguiente: jButton_Borrar Al final quedara algo similar a esto. . ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Para colocar el jButton “BORRAR”. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. setText(null). En los jButton numéricos (0-9) programar el evento actionPerformed. En el jButton de Borrar programar el evento actionPerformed y colocar el siguiente código: jTextField_resultado. . La función de este código es: que permitirá escribir un numero a continuación de otro. jTextField_resultado. Colocar el siguiente código en cada evento con el respectivo valor de cada jButton.getText()+"Valor del jButton"). 6. Al final quedara algo parecido a esto.setText(jTextField_resultado. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 5. similar a una calculadora. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. 7. 8 Conclusiones . Detalle: Si pulsa el botón BORRAR se eliminara todos los números del jTextField. es decir que establezcan sus condiciones y su total funcionamiento en todo momento dentro de la aplicación sin que exista errores dentro del código o dentro de la programación de cada uno de los elementos que se ha utilizado en el presente informe. en el cuadro de texto de la ventana (jTextField) se añadirá el dígito correspondiente. 2. han servido a tener un mejor conocimiento sobre su total funcionamiento. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 9. 2.7 Resultados y Discusión Los elementos GUI utilizado a lo largo de estos ejercicios. con el funcionamiento similar al de una calculadora. Cada vez que se pulse uno de los botones (0-9). El aspecto final del programa es el siguiente. con el propósito de que a las futuras aplicaciones cumplan con los parámetros de GUI. se le puede programar un límite de valores y la forma en cómo cada uno puede incrementarse. En el ejercicio propuesto el funcionamiento de la aplicación es similar al de una caja fuerte. se debe poder controlar el tamaño en el cual la ventana se puede mover. Ejercicio 7: La resolución del ejercicio planteado permite comprender el funcionamiento básico de una calculadora. Ejercicio 5: Para aplicaciones que tienen jSpinner. debido a que dentro de los mismo jLabels. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS. no pueden contener uno a otro. es por eso que. caso contrario “El número secreto es menor”.google. para colocar el valor seleccionado primero se obtiene el valor que ya encuentra en el jTextField y se le agrega el valor que se desea ingresar. partiendo desde el punto de vista en el cual solo se puede aceptar valores enteros. en la parte de unidades se está validando que solo sean números. igual al momento en que no se ha escogido algún producto e incluso cualquiera de aquellos campos estén vacío. para que el jLabel dentro del panel pueda tomar el respectivo valor y ubicación sobre su respectiva sombra. Ejercicio 3: Para mantener un control en la gestión de pedidos de esta aplicación se considera que se debe tener ciertos controles al momento de ingresar los datos. con la diferencia de que si el código ingresado es menor se visualizará “El número secreto es mayor”. ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS PERÍODO ACADÉMICO: SEPTIEMBRE 2017 / FEBRERO 2018 Ejercicio 1: En los tipos de estilos existe un detalle en el cual el “Estilo JAVA” es uno de los que viene por defecto. Para lo cual se aplica un código que consiste en. Código de los programas: https://drive. Ejercicio 6: Se ha desarrollado en base a paneles. por ejemplo. la aplicación dará una notificación de que necesariamente deben ser esos campos llenados Ejercicio 4: Cuando en una aplicación se tiene un campo con varios jRadioButton y se desea limitar la opción de elegir una sola opción se debe crear un grupo de botones dentro del jFrame en la sección de Navegador y luego se agrega cada jRadioButton dentro del grupo de botones. Ejercicio2: Para tener una mejor interfaz en el caso de este ejercicio se ha creado una imagen que al comienzo de la interfaz al darle clic sirva de soporte para que el usuario se dirija directamente a la aplicación a la cual se realizarán los respectivos cálculos. en este caso se trabaja con uno que es JAVA pero conocido por el nombre “Nimbus” además existe otro detalle al momento en asignar los valores para que la ventana se pueda o no mover por alrededor de toda la pantalla.com/drive/folders/1QXJIvd8eykLQSv693KihHqyQ_6LsHLib . en el caso de que el código ingresado sea el correcto se visualizara “Caja Abierta”.