Sunteți pe pagina 1din 23

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental de la Fuerza Armada
Núcleo Maracay.

Interfaces Graficas de Usuario (GUI) en Java.

La interface de usuario es la parte del programa que permite a éste


interactuar con el usuario.

Las interfaces de usuario pueden adoptar muchas formas, que van


desde la simple línea de comandos hasta las interfaces gráficas que
proporcionan las aplicaciones más modernas.

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 1


JFC. (Java Foundation Classes).

Son parte de la API de Java compuesto por clases que sirven para crear
interfaces gráficas visuales para las aplicaciones y applets de Java.

Las JFC contienen dos paquetes gráficos: AWT y Swing.

AWT presenta componentes pesados, que en cada plataforma sólo


pueden tener una representación determinada. Está disponible desde la
versión 1.1 del JDK como java.awt.

Swing presenta componentes ligeros, que pueden tomar diferente


aspecto y comportamiento pues lo toman de una biblioteca de clases..

AWT (Abstract Windowing Toolkit)

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 2


Clase Component
•Esta clase representa a cualquier objeto que puede ser parte de una
interfaz gráfica de usuario. Es la clase padre de muchas de las clases del AWT.

•Su propósito principal es representar algo que tiene una posición y un


tamaño, que puede ser dibujado en la pantalla y que pueda recibir eventos de
entrada (que responda a las interacciones con el usuario).

Metodos para el Tamaño y Posición del Componente Gráfico.

•Dimension getSize(); Devuelve la anchura y altura del componente


como un objeto de la clase Dimensión, que tiene como campos: width
(anchura) y heigth (altura).

•void setSize(int ancho, int largo); Establece la anchura y altura del


componente.

•Dimension getPreferredSize(); Devuelve el tamaño que este


componente debería tener.

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 3


Lenguaje de Programación III. Prof. Luis E. Aponte I Página 4
Clase Swing.

Componentes

Los componentes son los elementos básicos de la programación con


Swing. Todo lo que se ve en un GUI de Java es un componente. Los
componentes se colocan en otros elementos llamados contenedores que
sirven para agrupar componentes. Un administrador de diseño se encarga
de disponer la presentación de los componentes en un dispositivo de
presentación concreto.

La clase javax.swing.JComponent es la clase padre de todos los


componentes. A su vez, JComponent desciende de java.awt.container y
ésta de java.awt.component. De esto se deduce que Swing es una
extensión de AWT, de hecho su estructura es análoga.

Contenedores.

Son un tipo de componentes pensados para almacenar y manejar otros


componentes. Los objetos JComponent pueden ser contenedores al ser una
clase que desciende de Container que es la clase de los objetos contenedores
de AWT.
Swing posee algunos contenedores especiales. Algunos son:
JWindow. Representa un panel de ventana sin bordes ni elementos
visibles.
JFrame. Objeto que representa una ventana típica con bordes, botones
de cerrar, etc.
JPanel. Es la clase utilizada como contenedor genérico para agrupar
componentes.

JDialog. Clase que genera un cuadro de diálogo.


JApplet. Contenedor que agrupa componentes que serán mostrados en
un navegador.

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 5


Lenguaje de Programación III. Prof. Luis E. Aponte I Página 6
Lenguaje de Programación III. Prof. Luis E. Aponte I Página 7
Eventos.

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 8


Lenguaje de Programación III. Prof. Luis E. Aponte I Página 9
Lenguaje de Programación III. Prof. Luis E. Aponte I Página 10
Lenguaje de Programación III. Prof. Luis E. Aponte I Página 11
Ejemplos Prácticos.

1. Realizar un Programa que contenga una Clase Llamada Ventana, con un


JFrame con un Titulo de Bienvenida al Sistema, y el mismo tenga un JLabel,
con un Mensaje de Bienvenida.

import javax.swing.*;
import java.awt.*;
public class Ventana {

public static void main(String[] args) {


JFrame ventana=new JFrame("Bienvenida al Sistema");
ventana.setLocation(100,100);
Container c=ventana.getContentPane();
c.add(new JLabel("Hola, Bienvenido"));
ventana.pack();
ventana.setVisible(true);

2. Programa que en una clase, presente un JFrame, y una Etiqueta con titulo, y
contenga un Evento de Salida (Windows Closing), y un Cuadro de Dialogo
(JOptionPane), con un mensaje respectivo.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ejemplo5 {

public static void main(String[] args) {


JFrame frame = new JFrame("ejemplo5");
JLabel label = new JLabel("Hola Mundo");
frame.getContentPane().add(label);
frame.addWindowListener(new WindowAdapter(){

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 12


public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
frame.pack();
frame.setVisible(true);
JOptionPane.showMessageDialog(this, "Soy un mensaje
normal”, "Cuadro 1", JOptionPane.INFORMATION_MESSAGE);
}

3. Programa que en una Clase Llamada ventana, muestre 02 Cuadros de


Diualogos (JOption Pane), Uno debe mostrar (Icono de Informacion y el Otro
Icono de Pregunta).

import javax.swing.*;
import java.awt.*;
public class ejemplo6 {

public static void main(String[] args) {


JOptionPane.showMessageDialog(null, "Soy un mensaje
normal", "Cuadro 1", JOptionPane.INFORMATION_MESSAGE);
int res= JOptionPane.showConfirmDialog(null, "¿Desea salir?",
"Salir",

JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if (res==JOptionPane.YES_OPTION)
System.exit(0);

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 13


}
}

4. El menú de un restaurante rápido se muestra a continuación:

MENÚ PRECIO
(S/.)

Hamburguesa 2.50

Cerveza 4.00

Gaseosa 3.00

Ensalada 1.50

Salchichas 2.00

Refresco 1.00

Sopa 1.50

Postre 1.50

Se desea construir una aplicación que calcule las ventas totales al final
del día, así como los impuestos a pagar (18 %).

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 14


Boton Calcular.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

double hambur=2.50,
cerve=4.00,gaseosa=3.00,ensalada=1.50,salchicha=2.00;

double refresco=1.00, sopa=1.50,postre=1.50;

double suma_hambur=((Double.parseDouble(jTextField1.getText())))*(hambur);

double suma_cerve=((Double.parseDouble(jTextField2.getText())))*(cerve);

double
suma_gaseosa=((Double.parseDouble(jTextField3.getText())))*(gaseosa);

double
suma_ensalada=((Double.parseDouble(jTextField4.getText())))*(ensalada);

double
suma_salchicha=((Double.parseDouble(jTextField5.getText())))*(salchicha);

double
suma_refresco=((Double.parseDouble(jTextField6.getText())))*(refresco);

double suma_sopa=((Double.parseDouble(jTextField7.getText())))*(sopa);

double suma_postre=((Double.parseDouble(jTextField8.getText())))*(postre);

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 15


double
respuesta=(suma_hambur)+(suma_cerve)+(suma_gaseosa)+(suma_ensalada)+(suma
_salchicha)+(suma_refresco)+(suma_sopa)+(suma_postre);

double impuesto=((respuesta)*18)/100;

double totalconimpuesto=(respuesta)+(impuesto);

jTextField9.setText(""+respuesta);

jTextField10.setText(""+impuesto);

jTextField11.setText(""+totalconimpuesto);

Boton Limpiar.

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

jTextField5.setText("");

jTextField6.setText("");

jTextField7.setText("");

jTextField8.setText("");

jTextField9.setText("");

jTextField10.setText("");

jTextField11.setText("");

5. A un profesor le pagan según sus horas y una tarifa de pago por horas.

Si la cantidad de horas trabajadas es mayor a 40 horas, la tarifa se incrementa


en un 50 % para las horas extras. Calcular el salario del profesor dadas las horas
trabajadas y la tarifa.

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 16


Botón Efectuar.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String mensaje;

double precio=Double.parseDouble(this.jTextField1.getText());

int horas=Integer.parseInt(this.jTextField2.getText());

double tarifa=Double.parseDouble(this.jTextField3.getText());

double subtotal=precio*horas;

double descuento=0.0;

double total1=subtotal-descuento;

double total2=total1+tarifa;

if(horas<40){

descuento=0.40*subtotal;

mensaje=("Las horas pagadas Son de "+horas+" Entonces tienes un


descuento y su salario Es : "+total2+"");

else{

mensaje=("Las horas pagadas Son de "+horas+" Entonces no tienes un


descuento y su salario Es : "+total2+"");

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 17


}

JOptionPane.showMessageDialog(this, mensaje, "SU SALARIO ES",


JOptionPane.INFORMATION_MESSAGE );

Boton Salir.

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

int res= JOptionPane.showConfirmDialog(null, "¿Deseas Salir?", "Salir",


JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

if(res==JOptionPane.YES_OPTION) System.exit(0);// TODO add your handling


code here:

Boton Limpiar.

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

this.jTextField1.setText("");

this.jTextField2.setText("");

this.jTextField3.setText("");// TODO add your handling code here:

6. En un centro meteorologico se llevan las precipitaciones mensuales


caidas en tres zonas del pais: Occidente, Centro y Oriente. Se desea un
programa que reciba como datos de entrada las precipitaciones registradas en
los 12 mesea de un año para cadaregion y determine: a) precipitacion anual en
cada region y b) region con mayor precipitacion anual.

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 18


Promedio Anual. (Region Occidente)

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

double a= Double.parseDouble(jTextField1.getText());

double b= Double.parseDouble(jTextField2.getText());

double c= Double.parseDouble(jTextField3.getText());

double d= Double.parseDouble(jTextField4.getText());

double e= Double.parseDouble(jTextField5.getText());

double f= Double.parseDouble(jTextField6.getText());

double g= Double.parseDouble(jTextField7.getText());

double h= Double.parseDouble(jTextField8.getText());

double i= Double.parseDouble(jTextField9.getText());

double j= Double.parseDouble(jTextField10.getText());

double k= Double.parseDouble(jTextField11.getText());

double l= Double.parseDouble(jTextField12.getText());

double m=(a+b+c+d+e+f+g+h+i+j+k+l)/12;

jTextField37.setText(""+m);

Promedio Anual. (Region Centro)

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

double a= Double.parseDouble(jTextField12.getText());

double b= Double.parseDouble(jTextField14.getText());

double c= Double.parseDouble(jTextField15.getText());

double d= Double.parseDouble(jTextField16.getText());

double e= Double.parseDouble(jTextField17.getText());

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 19


double f= Double.parseDouble(jTextField18.getText());

double g= Double.parseDouble(jTextField19.getText());

double h= Double.parseDouble(jTextField20.getText());

double i= Double.parseDouble(jTextField21.getText());

double j= Double.parseDouble(jTextField22.getText());

double k= Double.parseDouble(jTextField23.getText());

double l= Double.parseDouble(jTextField24.getText());

double m=(a+b+c+d+e+f+g+h+i+j+k+l)/12;

jTextField38.setText(""+m);

Promedio Anual. (Region Oriente)

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

double a= Double.parseDouble(jTextField25.getText());

double b= Double.parseDouble(jTextField26.getText());

double c= Double.parseDouble(jTextField27.getText());

double d= Double.parseDouble(jTextField28.getText());

double e= Double.parseDouble(jTextField29.getText());

double f= Double.parseDouble(jTextField30.getText());

double g= Double.parseDouble(jTextField31.getText());

double h= Double.parseDouble(jTextField32.getText());

double i= Double.parseDouble(jTextField33.getText());

double j= Double.parseDouble(jTextField34.getText());

double k= Double.parseDouble(jTextField35.getText());

double l= Double.parseDouble(jTextField36.getText());

double m=(a+b+c+d+e+f+g+h+i+j+k+l)/12;

jTextField39.setText(""+m);

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 20


Zona con Mayor Precipitacion.

double a= Double.parseDouble(jTextField37.getText());

double b= Double.parseDouble(jTextField38.getText());

double c= Double.parseDouble(jTextField39.getText());

if (a>b)

if (a>c)

jTextField40.setText("Occidente");

if (b>a)

if (b>c)

jTextField40.setText("Centro");

if (c>a)

if (c>b)

jTextField40.setText("Oriente");

if (a==b)

if (a==c)

if (b==c)

jTextField40.setText("Zonas Con Promedios Iguales");

if (b==a)

if (b>c)

jTextField40.setText("Occidente y Centro");

if (c==b)

if (b>a)

jTextField40.setText("Centro y Oriente");

if (c==a)

if (c>b)

jTextField40.setText("Oriente y Occidente");

// TODO add your handling code here:

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 21


Boton Limpiar.

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

jTextField5.setText("");

jTextField6.setText("");

jTextField7.setText("");

jTextField8.setText("");

jTextField9.setText("");

jTextField10.setText("");

jTextField11.setText("");

jTextField12.setText("");

jTextField13.setText("");

jTextField14.setText("");

jTextField15.setText("");

jTextField16.setText("");

jTextField17.setText("");

jTextField18.setText("");

jTextField19.setText("");

jTextField20.setText("");

jTextField21.setText("");

jTextField22.setText("");

jTextField23.setText("");

jTextField24.setText("");

jTextField25.setText("");

jTextField26.setText("");

jTextField27.setText("");

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 22


jTextField28.setText("");

jTextField29.setText("");

jTextField30.setText("");

jTextField31.setText("");

jTextField32.setText("");

jTextField33.setText("");

jTextField34.setText("");

jTextField35.setText("");

jTextField36.setText("");

jTextField37.setText("");

jTextField38.setText("");

jTextField39.setText("");

jTextField40.setText("");

// TODO add your handling code here:

Boton Salir.

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {

System.exit(0);

Lenguaje de Programación III. Prof. Luis E. Aponte I Página 23

S-ar putea să vă placă și