Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 05
Unidad 05
INTERFACES GRAFICAS
OBJETIVO ESPECÍFICO
El alumno identificará la importancia del uso de interfaces gráficas dentro
de las aplicaciones desarrolladas mediante la programación orientada a
objetos.
120
INTRODUCCIÓN
En la actualidad, la mayoría, si no es que todas las aplicaciones
desarrolladas, emplean una interfaz gráfica para comunicarse con los
usuarios. De esta manera se facilita enormemente la tarea de poder
realizar diversas actividades dentro de la aplicación.
121
La sencillez y limpieza en el diseño de la interfaz.
La distribución de los elementos, para que sea ágil su uso.
122
LO QUE SÉ
123
TEMARIO DETALLADO
(20 horas)
124
5.1. Creación de ventajas
El principio de funcionamiento básico de una Interfaz Gráfica de Usuario
(GUI por sus siglas en inglés) consiste en la creación de ventanas. Una
ventana es una parte de la pantalla de una computadora, dentro de la cual
de despliegan ciertos elementos gráficos: botones, tablas, íconos, caja de
texto, entre otros.
125
A continuación se presenta la sintaxis para la creación de una ventana con
un elemento de tipo botón dentro, en lenguaje de programación Java.
Primero se crea una nueva ventana:
miFrame.getContentPane.add(miBoton);
frame.setSize(300,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
);
126
import javax.swing.*;
public class primeraVentana {
public static void main (String [] args){
JFrame miFrame = new JFrame();
JButton miBoton = new JButton(“clic aquí”);
miFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLO
SE);
miFrame.getContentPane().add(miBoton);
miFrame.setSize(300,300);
miFrame.setVisible(true);
}
}
127
A continuación se muestra una lista con algunos elementos que pueden
agregarse a una ventana:
JButton. jScroIIPane.
JRadioButton. JSlider.
JCheckBox. JTextArea.JTextField
jLabel. JTable.
jList.
5.2. Eventos
Una vez que se conoce el elemento básico de la interfaz gráfica de
usuario y algunos de los elementos que pueden colocarse, es conveniente
realizar el manejo de los eventos que pueden presentarse para la
interacción con los usuarios.
128
Para ello es necesario que, al dar clic en un botón, se realice alguna
acción. Cada que se realice algún evento, por ejemplo el clic del botón
principal del ratón, éste se puede controlar empleando un método que sea
llamado y realice alguna acción cada que se realice el clic.
Para saber que un evento se ha realizado (como dar clic con el ratón), es
necesario “escuchar” los eventos (listener interface), así cuando se
efectúe esta acción, se desencadenará otra. De esta manera se plantea
una especie de puente entre el botón que está haciendo clic y la acción
que debe realizarse.
MouseEvent
KeyEvent
WindowEvent
ActionEvent
miBoton.addActionListener(this);
129
public void actionPerformed(ActionEvent event) {
button.setText("¡Se ha dado clic!");
}
Este método realiza lo siguiente: una vez que el botón ha recibido un clic
por parte del usuario, el texto en su interior cambia al mensaje “¡Se ha
dado clic!”.
5.3. Gráficos
De la misma forma en que se pueden colocar elementos como tablas,
botones y otros mecanismos en una ventana, también se pueden colocar
elementos de tipo gráfico o bien generarlos mediante el uso de librerías
gráficas en el lenguaje de programación orientado a objetos que se esté
empleando.
130
Para el caso de colocar elementos gráficos, empleando para su creación
el lenguaje de programación Java, se cuenta con la clase JPanel, a partir
de la cual se puede instanciar un objeto y éste se coloca en la ventana
como un elemento de tipo botón, tabla o cualquier otro, pero que posee la
característica de poder contener elementos de tipo gráfico, los cuales
pueden modificarse en tamaño o color, por ejemplo.
paintComponent(Graphics g) { }
- drawImage(). - drawOval().
- drawLine(). - fillRect().
- drawPolygon. - fillRoundRect().
- drawRect(). - setColor().
131
posteriormente se indica que se desea un elemento gráfico y que se debe
colocar en pantalla con paintComponent. Finalmente, se indica que el
color del componente será naranja y que el componente es una línea
recta.
132
A continuación se proporciona un ejemplo de cómo implementar la
importación de un elemento gráfico externo, en este caso una imagen con
la extensión .jpeg, mediante el lenguaje de programación Java.
Para ello, es necesario indicar que el objeto será del tipo ImageIcon y
posteriormente posicionarlo en la ventana donde deseamos mostrarlo. La
ubicación en pantalla se mide en pixeles y a partir de la esquina superior
izquierda, en el ejemplo se consideran 3 pixeles a la derecha y 4 hacia
abajo.
public void paintComponent(Graphics g){
Image miImagen = new
ImageIcon().getImage();
g.drawImage(miImagen,3,4,this);
}
133
5.4. Ejemplos prácticos de poo
con interfaces graficas
A continuación se proporcionan dos ejemplos ilustrativos para el manejo
de interfaces gráficas en el lenguaje de programación Java.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
134
DemoFrame(){
super("Demostración de manejo de eventos");
setBounds(100,100,300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contenedor=this.getContentPane();
contenedor.add(elPanel);
clicAqui.setMnemonic('P');
clicAqui.addActionListener(this);
elPanel.add(respuesta);
elPanel.add(clicAqui);
clicAqui.requestFocus();
setVisible(true);
}
public void actionPerformed(ActionEvent event){
Object fuente=event.getSource();
if (fuente==clicAqui){
respuesta.setText("¡Haz dado clic!");
JOptionPane.showMessageDialog(null,"¡Escucho el
evento!",
"Message
Dialog",JOptionPane.PLAIN_MESSAGE);
setVisible(true);
}
}
public static void main(String args[]) {
new DemoFrame();
}
}
135
import java.awt.*;
import javax.swing.*;
g.setColor(Color.YELLOW);
g.drawRect(100,35,80,80);
g.setColor(Color.RED);
g.drawArc(100,35,80,80,0,110);
g.setColor(Color.YELLOW);
g.drawRect(185,35,80,80);
g.setColor(Color.RED);
g.drawArc(185,35,80,80,0,-270);
g.fillArc(15,120,80,40,0,360);
g.fillArc(100,120,80,40,270,-90);
g.fillArc(185,120,80,40,0,-270);
}
136
DibujarArcos();
Aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_
CLOSE);
}
}
137
RESUMEN
138
GLOSARIO
Evento
Acción realizada por el usuario dentro de una ventana.
Interfaz gráfica
Ventana visual que proporciona una salida.
Manejo de eventos
Consiste en atender la realización de un evento, lo cual sirve para detonar
una acción dentro de la aplicación.
139
ACTIVIDADES DE APRENDIZAJE
ACTIVIDAD 1
Desarrolla un ejemplo de las operaciones que se pueden realizar mediante
el uso de una interfaz gráfica en un cajero automático.
ACTIVIDAD 2
Genera un archivo de texto cuyo nombre sea interfaz2.txt. Una vez que lo
concluyas, envía tu información; presiona el botón Examinar para localizar
el archivo en tu computadora y por último presiona Subir este archivo.
140
ACTIVIDAD 3
141
CUESTIONARIO DE
REFORZAMIENTO
142
archivo, ya seleccionado, presiona Subir este archivo para guardarlo en
la plataforma.
143
LO QUE APRENDÍ
Se sugiere que las figuras para representarlo sean círculos, cuyo radio es
el total de hombres y mujeres que respondieron.
144
EXAMEN DE AUTOEVALUACIÓN
Indica si las siguientes aseveraciones son Verdaderas o Falsas:
Verdadera Falsa
1. Una interfaz gráfica sólo tiene que ver con la ( ) ( )
presentación de la información en pantalla para los
usuarios.
2. El uso de interfaces gráficas debe ser sencillo y ( ) ( )
amigable con los usuarios.
3. La implementación de una interfaz gráfica es ( ) ( )
totalmente obligatorio en una aplicación.
4. La interfaz gráfica no tiene asociación con el ( ) ( )
manejo de eventos.
5. El principio básico de una interfaz gráfica es una ( ) ( )
ventana.
6. Los elementos se colocan en el marco de la ( ) ( )
ventana.
7. Se debe emplear un elemento para escuchar los ( ) ( )
eventos realizados en la ventana.
8. Una vez que se ha realizado un evento, se realiza ( ) ( )
una acción como consecuencia de éste.
9. En una ventana no se pueden colocar elementos ( ) ( )
gráficos como fotografías.
10. Se pueden generar elementos gráficos propios ( ) ( )
para colocarlos en una ventana.
145
MESOGRAFÍA
Bibliografía sugerida
Bibliografía Básica
Sierra, Kathy & Bates, Bert. (2005). Head First Java. (2nd ed.) O’Reilly:
Sebastopol, CA. [Vista previa]
Bibliografía Complementaria
Eckel, Bruce. (2006). Thinking in Java. (4th ed.) Prentice Hall: Nueva York,
NY. [Vista previa]
146
Sitios de Internet
Sitio Descripción
http://olgacarreras.blogspot.com/sea Usabilidad en aplicaciones
rch/label/usabilidad%20general
http://www.javabeginner.com/java- Ejemplo de GUI en Java
swing/java-swing-tutorial
http://docs.oracle.com/javase/7/docs/ Documentación de Java
api/
http://casidiablo.net/codigo-java- Ejemplos de gráficos 2D en
graficos-2d/ Java
147