Sie sind auf Seite 1von 50

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

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):
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

Dimension tamaño = preferredSize().getSize();


setSize(tamaño);
setLocationRelativeTo(null);

Al escribir este código en Dimension tamaño = preferredSize().getSize(); se le esta


asignando el valor que tiene por defecto la ventana que se está realizando el JFrame, de
igual manera aparecerá un error, pero solamente se debe importar.

- Botón Maximizar:

setExtendedState(MAXIMIZED_BOTH);

10. Se pondrá un jLabel con el siguiente nombre “Posición X , 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, también se añade dos jTextField con los siguientes nombre:
txtPosiciónX, txtPosiciónY, se realizará una validación en cada jTextField para que solo se
ingrese enteros.

Para asignar la validación se procederá de la siguiente manera:


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

Y en ambos jTextField se pondrá el siguiente código:

char car = evt.getKeyChar();


if (txtPosicionX.getText().length() >= 4) {
evt.consume();
}
if ((car < '0' || car > '9')) {
evt.consume();
}

Detalle: donde dice txtPosicionXesta recibiendo desde la interfaz el valor, se realiza lo


mismo,pero ahora con txtPosicionY.

Se añade un jLabel que más adelante se usara como una advertencia en la interfaz, se agrega
un botón, el cual se cambiara de nombre por btnMover, para esto, se debe controlar cual es
el tamaño de la pantalla, en el cual se está ejecutando el programa con sl siguiente código:

Toolkit tk = Toolkit.getDefaultToolkit();
Dimension tamaño = tk.getScreenSize();

if (txtPosicionX.getText().equals("") &&txtPosicionY.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Ingrese valores para X Y ");
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

} else {
int ancho = Integer.valueOf(txtPosicionX.getText());
int alto = Integer.valueOf(txtPosicionY.getText());
if ((ancho >tamaño.getWidth()) && (alto >tamaño.getHeight())) {
JOptionPane.showMessageDialog(null, "La dimension de su pantalla no permite esta
posicion");

mensajeTamaño.setText("Maximo= X: " + tamaño.getWidth() + "; Y: " +


tamaño.getHeight());
txtPosicionX.setText("");
txtPosicionY.setText("");
} else {

setLocation(ancho, alto);
txtPosicionX.setText("");
txtPosicionY.setText("");
}
}

Aparecerán ciertas librerías que se deberán importar al proyecto:


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: 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.

11. Se asignará un jPanelcon título “Estilos”en el cual contendrá tres diferentes botones:
bntCentrar, bntEstiloJava, btnEstiloWindows de la siguiente manera:

En cada botón se procederá a programar 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

- Botón Centrar:
setLocationRelativeTo(null);

- Botón Estilo Java (este estilo viene por defecto en el IDE, entonces se procede a
cambiar a un diferente estilo):
try {
for (javax.swing.UIManager.LookAndFeelInfoinfo :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
Ejercicio_1 nuevo = new Ejercicio_1();
nuevo.setVisible(true);
this.hide();
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
}

En caso de que sea necesario importar las librerías hacerlo.

- Botón Estilo Windows


try {
for (javax.swing.UIManager.LookAndFeelInfoinfo :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
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

javax.swing.UIManager.setLookAndFeel(info.getClassName());
Ejercicio_1 nuevo = new Ejercicio_1();
nuevo.setVisible(true);
this.hide();
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Ejercicio1.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
}

Obteniendo la interfaz de la siguiente manera:

Estilo Windows:

Estilo Nimbus:
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: para que se agine los dos diferentes estilos, en el código se agregó lo siguiente:
Ejercicio_1 nuevo = new Ejercicio_1();
nuevo.setVisible(true);
this.hide();
Este código permite cambiar de estilo, pero al mismo tiempo es muy esencial porque para
cambiar de estilo debe reiniciar todo el programa.

12. Se añade un jLabel, con el nombre Color Fondo, un botón btnColor, un jPanel donde
aparecerá el color que se ha elegido como fondo y seguido el botón bntAceptar.

- Botón Color:
Se debe primero crear una variable global Color y también importar la librería de dicha
variable
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.showDialog(this, "Selecionar color", this.getBackground());


jPanel3.setBackground(c);

En caso de que solicite importar las librerías por el JColorChooser hacerlo.

- Botón Aceptar:
this.getContentPane().setBackground(c);

Obteniendo el siguiente resultado:


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. 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.

En el JFrame se debe dirigir a eventos y añadir el siguiente evento:


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

En este evento se procederá a programar lo siguiente:

intop = JOptionPane.showConfirmDialog(this, "Estas seguro de cerrar la aplicacion",


"Advertencia", JOptionPane.YES_NO_OPTION);
if (op == JOptionPane.YES_OPTION) {
System.exit(0);
}

Obteniendo como resultado cuando se va a cerrar la aplicación lo siguiente:


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

14. En el programa se solicita que cuando se va a ingresar a la aplicación una primera


interfaz debe aparecer donde, el usuario debe loggearse, en caso de que la contraseña sea
incorrecta el programa se cerrará.

15. Se crea un nuevo JFrame en el mismo proyecto.

16. Se añade lo siguiente: un jLabel (donde se pondrá el título de la aplicación), un jLabel


(con el título de “Contraseña”), un jTextField (servirá para escribir al contraseña) con el
nombre txtContraseña, 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";


String contraseña = txtContraseña.getText();
if (contraseña.equals(pass)) {
Ejercicio_1 ejercicio = new Ejercicio_1();
ejercicio.setVisible(true);
this.dispose();
} else {
JOptionPane.showMessageDialog(null, "Contraseña incorrecta");
this.dispose();
}
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.dispose() tiene una función muy importante, 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, pero en caso de que la contraseña sea incorrecta la ventana inmediatamente
se cerrará.

Ejercicio 2:
1. Crear un nuevo proyecto y dentro de este un JFrame.

2. Se añade un jPanel con título “Ingredientes”


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

3. 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. Se crea otro jPanel con borde de título “Tamaños”

5. 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. 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, 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. 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
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. Seguido se añade: un jButton con el nombre “Total” y su etiqueta btnTotal, un jTextField


sin nombre alguno, pero con la etiqueta etiTotal de la siguiente manera quedará:

10. Se empieza a programar el botón “Total” con el siguiente código:

double p1 = 0.0;
double p2 = 0.0;
double p3 = 0.0;
double p4 = 0.0;
double p5 = 0.0;

double total = 0.0;

if (chkBacon.isSelected()) {
p2 = 1.50;
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

}
if (chkAnchoas.isSelected()) {
p3 = 1.80;
}
if (chkCebollas.isSelected()) {
p4 = 1.00;
}
if (chkPimiento.isSelected()) {
p5 = 1.20;
}

if (optPequeña.isSelected()) {
p1 = 7.00;
} else if (optFamiliar.isSelected()) {
p1 = 9.00;
} else if (optMediana.isSelected()) {
p1 = 11.00;
}

total += p1 + p2 + p3 + p4 + p5;

etiTotal.setText(String.valueOf(total));

if (chkBacon.isSelected()) {
chkBacon.setSelected(false);
}
if (chkAnchoas.isSelected()) {
chkAnchoas.setSelected(false);
}
if (chkCebollas.isSelected()) {
chkCebollas.setSelected(false);
}
if (chkPimiento.isSelected()) {
chkPimiento.setSelected(false);
}

Tamaños.clearSelection();
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

11. El programa solicita, como el ejercicio 1, 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.showConfirmDialog(this, "Estas seguro de cerrar la aplicacion",


"Advertencia", JOptionPane.YES_NO_OPTION);
if (op == JOptionPane.YES_OPTION) {
System.exit(0);
}
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.
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

12. Obteniendo como resultado la aplicación final:

13. La aplicación solicita una pantalla anterior a la de los cálculos, que tenga, ya sea una
imagen y donde se le dé clic inmediatamente dirija al programa principal de los cálculos.

14. Se crea un nuevo JFrame.

15. En este JFrame se añadirá un jButton, que permitirá dirigirse a la aplicación de los
cálculos.
Este botón se lo puede hacer que ocupe todo el espacio del JFrame, ya que con solo dar un
clic debe abrirse seguida la otra aplicación.
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

Antes de programar el botón, se añadirá una imagen que se ha realizado de la siguiente


manera:

Se debe crear un paquete llamado imágenes, donde ahí se pondrá la imagen que se desea
que aparezca en el botón. Se arrastra la imagen al nuevo paquete creado en este caso
“imagenes”

16. En el botón se realizará lo siguiente para cargar la ubicación de la imagen.

- Propiedades
- Se busca la opción que diga icon y se le da en los tres puntos (…)
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

- 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. Se procede a programar el botón personalizado.


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

Pizzeria pizza = new Pizzeria();


pizza.setVisible(true);
this.dispose();

Detalle: se invoca a la clase pizza para así vincularse al momento en que se de un clic.

Ejercicio 3:
1. Se crea un nuevo proyecto y a su vez dentro de este un JFrame.

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, otro jLabel como título “Productos”

3. Bajo el jLabel “Productos” se añadirá un jList con los siguientes nombres y la etiqueta
lstProductos
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 - 120


Centro de control - 60
Modem GSM - 45

Quedando de la siguiente manera:

4. Además se añade un jLabel con el nombre “Cantidades:” y al mimo nivel un jTextField


en blanco, pero con la etiqueta txtUnidades.
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:


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

5. Se añade un jButton con el nombre “Calcular” y su etiqueta btnCalcular, bajo este se


añade un jLabel sin nombre, pero con etiqueta etiResultado el cual servirá de visualizador
de los cálculos.

6. Primero se dará una validación en el campo txtUnidades con el siguiente código:


Antes de eso se debe dirigir a Events, Key KeyTyped.

char car = evt.getKeyChar();


if (txtUnidades.getText().length() >= 10) {
evt.consume();
}
if ((car < '0' || car > '9')) {
evt.consume();
}
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

7. Se empieza a programar con el siguiente código el botón “Calcular”

double total = 0.0;


double precioP = 1.0;
double precioD = 0.0;
double precioE = 0.0;
if (!(lstProductos.isSelectionEmpty())) {
if (!(txtUnidades.getText().equals(""))) {
if (Integer.parseInt(txtUnidades.getText()) >= 1) {
if (!(cboDestino.getSelectedIndex() == -1)) {
if (!(cboTipoEnvio.getSelectedIndex() == -1)) {
double x = Double.valueOf(txtUnidades.getText());

if (lstProductos.getSelectedValue().equals("Sistema de localización -
120")) {
precioP = 120.00 * x;
}
if (lstProductos.getSelectedValue().equals("Centro de control - 60")) {
precioP = 60.00 * x;
}
if (lstProductos.getSelectedValue().equals("Modem GSM - 45")) {
precioP = 45.00 * x;
}

if (cboDestino.getSelectedItem().equals("Peninsula")) {
precioD = 20.00;
}
if (cboDestino.getSelectedItem().equals("Canarias")) {
precioD = 25.00;
}
if (cboDestino.getSelectedItem().equals("Extranjero")) {
precioD = 30.00;
}

if (cboTipoEnvio.getSelectedItem().equals("Normal")) {
precioE = 3.00;
}
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

if (cboTipoEnvio.getSelectedItem().equals("Urgente")) {
precioE = 10.00;
}
total = precioP + precioE + precioD;

cboDestino.setSelectedIndex(-1);
cboTipoEnvio.setSelectedIndex(-1);
lstProductos.setSelectedIndex(-1);
txtUnidades.setText(null);
etiResultado.setText(String.valueOf(total));
} else {
JOptionPane.showMessageDialog(null, "Seleccione un opcion de TIPO ENVIO");
}
} else {
JOptionPane.showMessageDialog(null, "Seleccione un opcion de DESTINO");
}
} else {
JOptionPane.showMessageDialog(null, "El valor de UNIDADES es invalido");
}

} else {
JOptionPane.showMessageDialog(null, "El campo UNIDADES no tiene un valor");
}

} else {
JOptionPane.showMessageDialog(null, "Escoja un PRODUCTO");
}

Detalle: en la aplicación solicitada se debe controlar lo siguiente:


- En caso de que ningún producto este seleccionado debe aparecer una notificación dando
a conocer ese detalle.
- En caso de que en cantidades este 0 o ni por lo menos 1 saldrá una notificación.
- En caso de que no se seleccione un destino igual saldrá una notificación.
- En caso de que no se seleccione un tipo de envíe saldrá una notificación.
Obteniendo como resultado la aplicación final:
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

Ejercicio 4:
1. Se crea un nuevo proyecto y a su vez dentro de este un JFrame.

2. Se añade un jLabel con el nombre “Meses”, bajo este, se agrega un jListcon la etiqueta
lstMeses, un jButton de nombre “Rellenar” con etiqueta btnRellenar, un jButton con
nombre “Vaciar” btnVaciar, un jLabel sin nombre (servirá para visualizar los resultados que
se desea obtener), 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:


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

3. Se procede a añadir a un ButtonGroup los jRadioButtons de la siguiente manera:

Lo modificamos con el nombre de grupoTrimestres.

4. Cada jRadioButton se va añadiendo al grupoTrimestres de la siguiente manera:


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: se realizo lo anterior con el propósito de que solo se pueda seleccionar solo uno del
grupoTrimestres.

5. Se procede a programar la lista lstMeses.


Se dirige primero a Events, Mouse, MouseClicked.

Dentro de este evento se pone el siguiente código:

DefaultListModel m = new DefaultListModel();


if (optTri1.isSelected()) {
m.addElement("Enero");
m.addElement("Febrero");
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

m.addElement("Marzo");
lstMeses.setModel(m);
}
if (optTri2.isSelected()) {
m.addElement("Abril");
m.addElement("Mayo");
m.addElement("Junio");
lstMeses.setModel(m);
}
if (optTri3.isSelected()) {
m.addElement("Julio");
m.addElement("Agosto");
m.addElement("Septiembre");
lstMeses.setModel(m);
}
if (optTri4.isSelected()) {
m.addElement("Octubre");
m.addElement("Noviembre");
m.addElement("Diciembre");
lstMeses.setModel(m);
}
Detalle: en el código el DefaultListModel se debe importar las librerías para evitar errores,
en ese caso ese modelo permite añadir todos las opciones que se desea en el jList.

6. Se añade el siguiente código en el botón rellenar.


if(lstMeses.getSelectedValue().equals("Enero")){
etiMes.setText("Enero");
}
if(lstMeses.getSelectedValue().equals("Febrero")){
etiMes.setText("Febrero");
}
if(lstMeses.getSelectedValue().equals("Marzo")){
etiMes.setText("Marzo");
}
if(lstMeses.getSelectedValue().equals("Abril")){
etiMes.setText("Abril");
}
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

if(lstMeses.getSelectedValue().equals("Mayo")){
etiMes.setText("Mayo");
}
if(lstMeses.getSelectedValue().equals("Junio")){
etiMes.setText("Junio");
}
if(lstMeses.getSelectedValue().equals("Julio")){
etiMes.setText("Julio");
}
if(lstMeses.getSelectedValue().equals("Agosto")){
etiMes.setText("Agosto");
}
if(lstMeses.getSelectedValue().equals("Septiembre")){
etiMes.setText("Septiembre");
}
if(lstMeses.getSelectedValue().equals("Octubre")){
etiMes.setText("Octubre");
}
if(lstMeses.getSelectedValue().equals("Noviembre")){
etiMes.setText("Noviembre");
}
if(lstMeses.getSelectedValue().equals("Diciembre")){
etiMes.setText("Diciembre");
}

7. Se añade el siguiente código en el botón vaciar.


DefaultListModel m = new DefaultListModel();
lstMeses.setModel(m);
grupoTrimestres.clearSelection();
etiMes.setText(null);

8. Obteniendo como programa final el siguiente:


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

Ejercicio 5:
1. Se crea un nuevo proyecto y su vez dentro de este un JFrame.

2. Se añaden los siguientes elementos 3 jSpinner con las siguientes etiquetas del 1 -
spiUnidades , del 2 – spiDecenas, del 3 – spiCentenas, correspondientemente; un jButton
con el nombre “Abrir” con etiqueta btnAbrir y finalmente un jLabel sin nombre con etiqueta
etiResultado.

3. Al comienzo del programa se debe añadir 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);
setResizable(false);

SpinnerNumberModelc,d,u;
c = new SpinnerNumberModel();
c.setMaximum(9);
c.setMinimum(0);
spiCentenas.setModel(c);

d = new SpinnerNumberModel();
d.setMaximum(9);
d.setMinimum(0);
spiDecenas.setModel(d);

u = new SpinnerNumberModel();
u.setMaximum(9);
u.setMinimum(0);
spiUnidades.setModel(u);

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.

4. En el botón btnAbrir se introduce el siguiente código:


intc,d,u,num;
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.parseInt(spiCentenas.getValue().toString());
d = Integer.parseInt(spiDecenas.getValue().toString());
u = Integer.parseInt(spiUnidades.getValue().toString());
num = (c*100)+(d*10)+u;
if(num == 246){
etiResultado.setText("Caja abierta");
}elseif(num<246){
etiResultado.setText("El numero secreto es mayor");
}else{
etiResultado.setText("El numero secreto es menor");
}

5. Obteniendo como resultado el programa final.

Ejercicio 6:
1. Se crea un nuevo proyecto y dentro de este un JFrame.

2. El presente ejercicio se realizara a base de paneles.


3. 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

4. Se le da el color deseado en este caso sera negro para simular una sombra.
Properties, backGround y ahí se selecciona el color deseado.

5. En la parte de Navigator se debe añadir otro panel.


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

Quedando de la siguiente manera:

6. 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.
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

Se lo ubica por todo el jPanel de color plomo, que ocupe todo su espacio y dejando su
nombre en blanco.

7. 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, la sombra no se mueva.

8. Se procede a programar el jLabel, pero tomando en cuenta que los siguientes eventos
deben estar activados:
MouseEntered
MouseExited
MousePressed
MouseReleased
- Para activar cada uno de ellos se procede de la siguiente manera
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. 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.
- MouseEntered
jLabel1.setText("Pulsame");

- MouseExited
jLabel1.setText("Etiqueta");

- MousePressed
jLabel1.setText("Esta Pulsado");
Point val = jPanel1.getLocationOnScreen();
Dimension val1 = jPanel1.getSize();
jPanel2.setLocation(val);
jPanel2.setPreferredSize(val1);
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

- MouseReleased
Ejercicio6 nuevo = new Ejercicio6();
nuevo.setVisible(true);
this.hide();

Detalle: en el Código de MouseReleased el programa trabaja de forma curiosa, ya que se


reiniciará para que la posición del jLabel “Etiqueta” vuelva a su posición inicial.

10. Si se desea que al momento de que inicie el programa empiece con el titulo en el jLabel
“Etiqueta” hacer lo siguiente, además el siguiente código sirve para que la aplicación
comience centrada y no se pueda expandir la ventana
jLabel1.setText("Etiqueta");
setSize(400, 400);
setLocationRelativeTo(null);
setResizable(false);

Ejercicio 7:
1. Elaborar un JFrame en la carpeta de nuestro proyecto
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

3. Agregar un jTextField. Este jTextField es el lugar donde se visualizarán los números de la


aplicación.

4. Click derecho sobre el jTextField para editar el contenido de su texto (Edit Text) y dejarlo
vacio. Además se deberá cambiar el nombre de la variable ( Change variable name …) por
el siguiente nombre : jTextField_resultado.
Para cambiar el nombre de la variable:

Para editar el contenido de su texto:


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

5. Agregar los jButton para los números, en este caso deberán ser 10. En cada jButton se
deberá colocar los números del 0 al 9. Además, añadir un jButton para borrar.

Para colocar un valor al jButton. Además, se puede modificar el tamaño del jButton a su justo.

Click drecho sobre el JButton para cambiar el nombre de la variable. Colocar el siguiente
nombre:

jButton_valor del jButton


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

Para colocar el jButton “BORRAR”.

Cambiar el nombre de variable del jButton BORRAR por el siguiente:

jButton_Borrar

Al final quedara algo similar a esto.


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

5. En los jButton numéricos (0-9) programar el evento actionPerformed.

6. Colocar el siguiente código en cada evento con el respectivo valor de cada jButton.

jTextField_resultado.setText(jTextField_resultado.getText()+"Valor del jButton");

La función de este código es: que permitirá escribir un numero a continuación de otro, similar a
una calculadora.

Al final quedara algo parecido a esto.

7. En el jButton de Borrar programar el evento actionPerformed y colocar el siguiente código:

jTextField_resultado.setText(null);
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. El aspecto final del programa es el siguiente, con el funcionamiento similar al de una


calculadora. Cada vez que se pulse uno de los botones (0-9), en el cuadro de texto de la ventana
(jTextField) se añadirá el dígito correspondiente.

Detalle: Si pulsa el botón BORRAR se eliminara todos los números del jTextField.

2.7 Resultados y Discusión


Los elementos GUI utilizado a lo largo de estos ejercicios, han servido a tener un mejor
conocimiento sobre su total funcionamiento, con el propósito de que a las futuras
aplicaciones cumplan con los parámetros de GUI, 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.

2.8 Conclusiones
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

Ejercicio 1: En los tipos de estilos existe un detalle en el cual el “Estilo JAVA” es uno de
los que viene por defecto, 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, se debe poder controlar el
tamaño en el cual la ventana se puede mover.
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.
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, por ejemplo,
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, 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.
Ejercicio 5: Para aplicaciones que tienen jSpinner, 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, con la diferencia de que si
el código ingresado es menor se visualizará “El número secreto es mayor”, caso contrario
“El número secreto es menor”, en el caso de que el código ingresado sea el correcto se
visualizara “Caja Abierta”.
Ejercicio 6: Se ha desarrollado en base a paneles, debido a que dentro de los mismo
jLabels, no pueden contener uno a otro, es por eso que, para que el jLabel dentro del panel
pueda tomar el respectivo valor y ubicación sobre su respectiva sombra.
Ejercicio 7: La resolución del ejercicio planteado permite comprender el funcionamiento
básico de una calculadora, partiendo desde el punto de vista en el cual solo se puede aceptar
valores enteros. Para lo cual se aplica un código que consiste en, 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.
Código de los programas:
https://drive.google.com/drive/folders/1QXJIvd8eykLQSv693KihHqyQ_6LsHLib

Das könnte Ihnen auch gefallen