Download Interfaces Gráficas I

Document related concepts
no text concepts found
Transcript
PROGRAMACIÓN ORIENTADA A OBJETOS
(L40629)
Sabino Miranda-Jiménez
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO
Interfaz Gráfica de
Usuario (GUI)
Interfaz Gráfica de Usuario
• Diseñar el funcionamiento por medio de casos de
uso
• Diseñar la interfaz gráfica que implementará el
funcionamiento
• Java proporciona dos paquetes para manejo de
gráficos
 AWT (Abstract Window Toolkit)
 Swing
• Java los agrupa en los paquete
java.awt
Componentes Básicos SWING
Componentes contenedores
JFrame (ventana independiente)
JPanel (componente vacío)
• Componentes
ordinarios




JTextField
JButton
JComboBox
Jlist




JLabel
JTextArea
JCheckBox
JRadioButton
Clase JTextField
• Permite capturar texto por medio de una caja de
texto
• Métodos más usados
Valor de
retorno
void
String
void
String
String
void
Método
setText(String t)
getText()
setEditable(boolean b)
getSelectedText()
getText(int offs, int len)
select(int inicio, int fin)
Clase JButton
• Un botón puede desplegar texto, un icono o ambos
• Cuando un usuario hace clic al botón, los eventos
Action se envían a todos los Action listeners
• JButtons envían acciones de eventos.
• La interfaz ActionListener contiene un método en el
cual se programan las acciones que se ejecutarán al
hacer clic:
public void actionPerformed(ActionEvent v)
{
// ACCIONES
}
Clase JComboBox (1)
• Combina la funcionalidad de un TextField y una
lista drop-down
• Se puede presentar al usuario una lista de opciones
y sino aparece, la puede capturar (si es editable el
ComboBox)
String[] initialVals = {“básico", “medio", “avanzado"};
JComboBox combo = new JComboBox(initialVals);
Clase JComboBox (2)
• Métodos más usados
Valor de
retorno
void
Object
boolean
void
Object
void
Método
addItem(Object x)
getSelectedItem()
isEditable()
removeAllItems()
getItemAt(int index)
setSelectedIndex(int index)
Clase JList (1)
• Muestra um conjunto de datos en forma de lista
• Se pueden seleccionar y efectuar acciones
Valor de
retorno
Object
boolean
boolean
void
int
void
Método
getSelectedValue()
isSelectedIndex(int index)
isSelectionEmpty()
setListData(Object[] listData)
getSelectedIndex()
select(int inicio, int fin)
Clase JList (2)
• Inicializa la lista con tres opciones
String[] s = {"pedro","pablo","maria"};
jList1.setListData(s);
• Obtener el elemento seleccionado, si se selecciona
el segundo elemento s contendrá “pablo”
String s = (String) lista1.getSelectedValue();
Clase JOptionPane (1)
• La clase JOptionPane encapsula formatos de ventanas de diálogo,
sin declar ningún contenedor
• JOptionPane define 5 mensajes:





ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE
• El comportamiento es habilitado por los métodos estáticos
 showConfirmDialog()
 showMessageDialog().
Clase JOptionPane (2)
• Método estático showMessageDialog()
 Muestra un mensaje al usuario
JOptionPane.showMessageDialog(null, "Mensaje",
"Título Ventana", JOptionPane.INFORMATION_MESSAGE);
•Método estático showConfirmDialog()
Muestra una ventana de diálogo con dos botones SI y NO devuelve un valor según la
opción seleccionada
,
int x = JOptionPane.showConfirmDialog(null "¿Desea continuar?",
"Ventana de Confirmación!", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
X=0 si el usuario presiona “SI”
X=1 si el usuario presiona “NO”
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO
Diseño de GUIs con
NetBeans
Aplicación Gráfica
Mostrar un saludo al usuario que capturó su nombre en la caja de
texto
El saludo se muestra en una ventana emergente al hacer clic sobre
el botón Ejecutar
Diseño de GUI (1)
• Crear un Proyecto en NetBeans
Archivo=> Proyecto Nuevo=> Java
(Categorías)=>Aplicación de Escritorio Java
(Proyectos)
Clic Siguiente
Diseño de GUI (2)
• Teclear Nombre del proyecto, Seleccionar “Aplicación Básica” , clic en
“Terminar”
Clic
Terminar
Espacio de Trabajo (1)
•
•
•
•
Se crean un paquete llamado Ventana
VentanaAboutBox.java es una ventana de “Acerca de” de la aplicación
VentanaApp.java contiene el método que ejecuta la aplicación (main)
VentanaView.java contiene el diseño y código de los componentes gráficos
 Este código es el que se modifica
Herramientas de
compilación/
ejecución
Cambia entre el
diseño gráfico y el
código fuente
Explorador del
proyecto
Área de diseño
Paleta de
componentes
gráficos
Aplicación Ventana (1)
• Hacer doble clic sobre el nombre VentanaView.java aparece del lado
derecho el espacio de diseño donde se agregarán los componentes gráficos
Paleta de
objetos
gráficos
Aplicación Ventana (2)
• Sobre el “Área de Diseño” hacer clic con el botón derecho del mouse para
obtener el menú desplegable
• Cambiar el nombre de la variable del espacio de Trabajo (contenedor)
representado por un JPanel
Menú
• Nuevo nombre ventanaInicio
emergente
Aplicación Ventana (3)
• Cambiar el nombre del Contenedor de los componentes
(JPanel) por un nombre significativo
Aplicación Ventana (4)
• Agregar un componente JTextField y un JButton al JPanel (ventanaInicio)
JButton
JTextField
Asignar nombres a los componentes
• Cambiar el nombre de las variables de instancia por default (jTextField1 y
jButton1) por nombres más significativos (txtNombre y btnSaludar)
Clic derecho
sobre el
componente
para aparecer el
menú
emergente
Cambiar el
nombre de
la variable
de instancia
por
txtNombre
Inicializar los componentes
• Editar el texto que aparece en el formulario (JPanel) el cual se desplegará en
la aplicación (jTextField1 y jButton1) por textos más significativos (“capture
su nombre” y “Ejecutar”)
Clic derecho
sobre el
componente
para aparecer el
menú
emergente
Cambiar el
texto del
component
e por
Ejecutar
Agregar acciones al componente JButton
• Desplegar el menú emergente (clic derecho sobre el componente)
• Agregar la acción actionPerformed al botón btnEjecutar
Clic en
ActionPerformed
Implementar las acciones-código (1)
• Al hacer clic en actionPerformed automáticamente nos lleva a
la sección del código (el método) donde se implementará el
código que se ejecuta cuando el usuario hace clic sobre el
botón
• Implementar las acciones
Método donde
se realizan las acciones
Manejador del
eventos
variable evt
Implementar las acciones-código (2)
• Implementar las siguientes acciones:
 Agregar al inicio del código la siguiente línea para hacer uso de la clase
JOptionPane
import javax.swing.JOptionPane;
 Extraer el texto captura en el JTextBox con el método getText() por
medio de la variable de instancia txtNombre
String s = txtNombre.getText();
 Ejecutar el método estático showMessageDialog de la clase
JOptionPane para mostrar el mensaje en la ventana emergente
JOptionPane.showMessageDialog(null, "Hola " + s);
Ejecución de la aplicación
Distribuir la aplicación (1)
• Generar el paquete de la aplicación, seleccionar del menú:
Ejecutar=>Generar Main Project
En la Pestaña Archivos aparecerá una carpeta dist que contiene la aplicación
Distribuir la aplicación (2)
• Las aplicación se puede ejecutar en cualquier PC que contenga Java SE 6
• En el directorio donde se creó el proyecto, la carpeta dist contiene la
aplicación y las librerías necesarias. Para distribuirla copiar la carpeta dist
Aplicación
+ librerías
necesarias
Distribuir la aplicación (3)
• Para ejecutar la aplicación:
 Desde Windows
Hacer doble clic sobre el archivo jar, contiene las clases
compiladas y ejecuta la clase VentanaApp que contiene el
método main
 Desde la consola de MS-DOS
C:\dist> java -jar Ventana.jar
la opción –jar le indica al interprete que es un archivo jar y
que contiene dentro las definiciones de qué archivo ejecutar.
En este caso VentanaApp
Ejercicio I
• Realizar un programa gráfico que capture dos
números y realice la suma y multiplicación de
dichos números. Los resultados se muestran en
una ventana emergente.
Ejercicio II
• Validar los datos del ejercicio1
• Mostrar al usuario un mensaje emergente si no
captura alguno de los datos
• Sólo mostrar el resultado si los datos son válidos
• Métodos sugeridos:
 parseInt
 getText
 equals
(Clase Integer)
(Clase JTextField)
(Clase String)