Está en la página 1de 12

1.

1 Aplicaciones Cliente

Una aplicación cliente es un paquete de software que funciona sobre el propio sistema

operativo de un dispositivo (Smartphone, laptop o PC). Es decir, es una aplicación que se

instala y corre o ejecuta en el computador. La aplicación se instala en el disco duro, donde

guardan toda la información y su principal característica es que no hay que estar conectado

a una red todo el tiempo para trabajar con ella.

Primero hay que entender ¿Qué es una interfaz gráfica del usuario? , por sus siglas se le

abrevia como GUI, acrónimo en inglés de “Graphical User Interfase”. La interfaz gráfica de

usuario es un programa o entorno que gestiona la interacción con el usuario basándose en

interacciones visuales como botones, cuadros de textos, iconos, menús, etc. Ayudan al

usuario a interactuar o comunicarse con la máquina, proporcionan una forma más ágil de

encontrar y recordar el uso de las opciones que más le interesan, aprendiendo de forma rápida.

En la siguiente figura 1.33 se observa algunas de las partes de una interfaz gráfica del usuario.

Figura 1.33 Ejemplo de una GUI.

1.1.1 Aplicaciones cliente con Java


El paquete Swing es parte de la de la Java Foundation Classes (JFC) en la plataforma Java.

La JFC provee facilidades para ayudar a la gente a construir GUI. Swing abarca componentes

como: botones, cuadros de texto, marcos, etiquetas, listas, imágenes, etc. Las componentes

Swing se identifican porque pertenecen al paquete javax.swing.

Para trabajar un ambiente gráfico muy parecido a Visual Studio, utilizaremos el IDE de

Eclipse que se obtiene de: https://www.eclipse.org/downloads/ . Una vez en el sitio de la lista

de opciones se elige Eclipse IDE for Java EE Developers y se descarga. Para crear y diseñar

las interfaces gráficas se necesita de instalar un complemento llamado: WindowsBuilder que

se instala siguiendo los pasos descritos en la siguiente dirección web:

https://eclipse.org/windowbuilder/download.php. Y una vez terminado este proceso, se podrá

comenzar la primera GUI siguiendo los pasos descritos en las figuras 1.34 a la 1.39.
Figura 1.34 Selección de proyecto en Eclipse.

Figura 1.35 Selección de tipo de proyecto en Eclipse.


Figura 1.36 Nombre del proyecto en Eclipse.

Figura 1.37 Selección de elemento del proyecto.


Figura 1.38 Aplicación Windows con diseño swing.

Figura 1.39 Editor para programar interfaces gráficas.

Ejemplo 1.13
Se desarrollará un programa con una GUI, que resuelva la siguiente situación con el enfoque

de la POO. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente

desea saber cuánto deberá pagar finalmente por su compra. Primero se implementará una

clase llamada “Descuentos” en donde tendrá un método que se llame total() de tipo double

recibiendo como parámetro de entrada el valor de la compra total y regrese el valor del

descuento. En la GUI llevará los siguientes elementos o componentes: JLabel (etiqueta),

JTextField (cuadro de texto) y un JButton (botón), en este último componente se programará

el código principal donde se instancia a la clase “Descuentos” y regrese un resultado visible

para el usuario en un JTextField. Este proceso se puede apreciar en la siguiente figura 1.40.

Figura 1.40 GUI de la aplicación a generar.

El código para la clase “Descuento” será la siguiente:

public class Descuento


{
public double Total (double valor)
{
double des= valor -(valor*0.15);
return des;
}
}

En la clase “Principal” será el siguiente código:

JButton btnDescuento = new JButton("Descuento");


btnDescuento.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
Descuento obj=new Descuento();
Double total=
obj.Total(Double.parseDouble(textField_2.getText()));
textField_3.setText(total.toString());

}
}

Entre las ventajas de utilizar el IDE de Eclipse, es que el programador solo desarrolla el

código de las acciones o funciones que desea que el programa desempeñe, en tanto la

declaración del cuerpo principal, componentes y propiedades del programa se genera

automáticamente. El resultado de este programa se puede apreciar en la figura 1.41

Figura 1.41 Programa en Java con interfaz gráfica.

Ejemplo 1.14
Se desarrollará un programa con una GUI, que resuelva la siguiente situación con el enfoque

de la POO. Un alumno de tercer semestre de la especialidad de Programación de un CBTis,

desea saber cuál será su promedio general en las tres materias más difíciles que cursa y cuál

será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se

muestra a continuación:

La calificación de cálculo diferencial se obtiene de la siguiente manera:

 Examen 90%
 Promedio de tareas 10%
 En esta materia se pidió un total de tres tareas.

La calificación de Física I se obtiene de la siguiente manera:

 Examen 80%
 Promedio de tareas 20%
 En esta materia se pidió un total de dos tareas.

La calificación de Desarrolla aplicaciones móviles se obtiene de la siguiente manera:

 Examen 85%
 Promedio de tareas 15%
 En esta materia se pidió un promedio de tres tareas.

Para lo cual se necesitará crear una clase llamada “Promedio” que tendrá tres métodos que

regresen un valor de tipo double que será la calificación de la asignatura correspondiente y

reciba como parámetros de entrada las notas del examen y de las tareas. El código es el

siguiente:

public class Promedio


{
public double Calculo_Diferencial(double examen, double t1,double t2, double t3)
{
double promedio_tareas=(t1+t2+t3)/3;
double calificacion=(examen*0.90)+(promedio_tareas*0.10);
return calificacion;
}

public double Fisica_I(double examen, double t1,double t2)


{
double promedio_tareas=(t1+t2)/2;
double calificacion=(examen*0.80)+(promedio_tareas*0.20);
return calificacion;
}

public double Aplicaciones_Moviles(double examen, double t1,double t2, double t3)


{
double promedio_tareas=(t1+t2+t3)/3;
double calificacion=(examen*0.85)+(promedio_tareas*0.15);
return calificacion;
}

En tanto para la construcción de la GUI se necesitara de los siguientes componentes: JLabel

(etiqueta), JTextField (cuadro de texto) y JButton (botón), en este último componente se

programarán los códigos principales donde se instancia a la clase “Promedio” y regrese un

resultado visible para el usuario en un JTextField según lo requiera el usuario, en la siguiente

figura 1.42 se muestra el interfaz completa.


Figura 1.42 Componentes de la GUI.

Cabe destacar que cada uno de los componentes tiene propiedades propias como: color,

tamaño, tipo de letra, etc. Estas las podemos configurar en el siguiente panel que se observa

en la figura 1.43.

Figura 1.43 Panel o ventana de propiedades de los componentes.

Se sugiere que los componentes JtextField donde se mostrarán los resultados se le configure

o desactive la propiedad “editable” para que el usuario no pueda modificar la calificación.


El código de la clase “Calificacion” para cada botón es el siguiente:

a) Cálculo diferencial

public void actionPerformed(ActionEvent arg0)


{
Promedio obj=new Promedio();
double examen= Double.parseDouble(textField_0.getText());
double t1=Double.parseDouble(textField_1.getText());
double t2=Double.parseDouble(textField_2.getText());
double t3=Double.parseDouble(textField_3.getText());
Double resultado=(double) Math.round( obj.Calculo_Diferencial(examen, t1, t2, t3));
textField_4.setText(resultado.toString());
}

El código resaltado con color amarillo, es una función matemática de la clase final Math (ver

http://docs.oracle.com/javase/8/docs/api/java/lang/Math.html ) que se utiliza para redondear

el valor o resultado que devuelve el método del objeto que se creó con la clase “Promedio”.

En tanto el código resaltado con color verde se utiliza la clase correspondiente al tipo

primitivo double (es la clase contenedora, ver

http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html ) que permite llamar y

utilizar métodos o funciones con el valor del tipo primitivo double, por lo tanto en este

ejemplo, se convierte el resultado a cadena para que pueda ser impreso en el componente

textField_4.

b) Física I

public void actionPerformed(ActionEvent arg0)


{
Promedio obj=new Promedio();
double examen= Double.parseDouble(textField_5.getText());
double t1=Double.parseDouble(textField_6.getText());
double t2=Double.parseDouble(textField_7.getText());
Double resultado=(double) Math.round( obj.Fisica_I(examen, t1, t2));
textField_8.setText(resultado.toString());
}

c) Aplicaciones móviles

public void actionPerformed(ActionEvent e)


{
Promedio obj=new Promedio();
double examen= Double.parseDouble(textField_9.getText());
double t1=Double.parseDouble(textField_10.getText());
double t2=Double.parseDouble(textField_11.getText());
double t3=Double.parseDouble(textField_12.getText());
Double resultado=(double) Math.round( obj.Aplicaciones_Moviles(examen, t1, t2, t3));
textField_13.setText(resultado.toString());
}

El resultado de este programa se puede apreciar en la figura 1.44

Figura 1.44 Programa en Java con interfaz gráfica.

También podría gustarte