Download Desarrollo de aplicaciones gráficas

Document related concepts
no text concepts found
Transcript
Desarrollo de aplicaciones
gráficas
M.C. Jorge Eduardo Ibarra Esquer
Universidad Autónoma de Baja California
[email protected]
Febrero de 2006
Aplicaciones gráficas en Java
†
Estas aplicaciones pueden dividirse en dos
tipos:
„
„
†
Aplicaciones de escritorio
Applets
Para construirlas, se utilizan, principalmente,
las clases de los paquetes:
„
„
„
java.awt
javax.swing
java.applet
1
El paquete java.awt
†
†
Este paquete contiene las clases principales
para el desarrollo de aplicaciones gráficas en
Java y para dibujar elementos gráficos
La clase principal de la cual se derivan los
elementos utilizados para estas aplicaciones
es java.awt.Component
La clase Component
†
†
Un componente es un objeto gráfico que
puede desplegarse en la pantalla y con el cual
el usuario puede interactuar
Sus subclases directas son:
„
„
„
„
Button
Canvas
CheckBox
Choice
„
„
„
„
„
Label
List
ScrollBar
TextComponent
Container
2
La clase Container
†
†
†
Un contenedor es un tipo especial de
componente al cual se le pueden agregar
otros componentes
Algunos de los contenedores más
utilizados son los derivados de las clases
Panel y Window
Las clases del paquete javax.swing son
derivadas de Container
La clase Graphics
†
Esta clase es la base para todos los contextos
gráficos que permiten a una aplicación dibujar
sobre componentes en dispositivos diversos, e
incluso que se encuentren fuera de pantalla
3
Applets
†
†
Un applet es una clase que extiende a la clase
java.awt.Applet
Son aplicaciones que se insertan en una
página Web y se ejecutan por un navegador
de Internet
Ciclo de vida de un Applet
init( )
start( )
Estos métodos son llamados, en orden, al
iniciar la ejecución del Applet
paint( )
stop( )
destroy( )
Estos métodos son llamados al finalizar
el Applet
4
Descripción de los métodos de un
Applet
†
public void init()
„
„
„
Es el primer método que se llama al iniciar la
ejecución de un Applet
Normalmente se utiliza para la inicialización de
variables
Sólo es llamado una vez durante el ciclo de vida
de un Applet
Descripción de los métodos de un
Applet
†
public void start()
„
„
„
Este método es llamado después de init() al
iniciar la ejecución de un Applet
A este método se le llama cada vez que el usuario
regresa a la página que contiene el Applet
Permite que inicie la ejecución de un Applet que
se detuvo al ejecutarse el método stop()
5
Descripción de los métodos de un
Applet
†
public void paint(Graphics g)
„
„
„
Este método se llama después de start() al iniciar
la ejecución del Applet
El método paint() es llamado automáticamente
cada vez que se necesite redibujar la interfaz
gráfica del Applet
Se le puede llamar directamente a través del
método repaint();
Descripción de los métodos de un
Applet
†
public void stop()
„
„
Se le llama cuando el navegador sale del
documento HTML que contiene al Applet
Se utiliza para suspender tareas que no deban
ejecutarse cuando el Applet no es visible, mismas
que pueden iniciarse nuevamente al llamar al
método start()
6
Descripción de los métodos de un
Applet
†
public void destroy()
„
„
„
Se le llama cuando se determina que el Applet
necesita ser borrado completamente de la
memoria
Se utiliza para liberar recursos utilizados por el
Applet
Antes de este método, siempre se llamará al
método stop()
La etiqueta <applet>
†
Para cargar un Applet en una página HTML
es necesario utilizar la etiqueta <applet>, de
la siguiente forma:
<applet code=“MiApplet” width=300 height=200>
</applet>
7
Otras clases
†
†
†
†
†
†
†
†
Color
Font
FontMetrics
Toolkit
MouseInfo
Image
Dimension
Point
†
†
†
†
†
†
†
Cursor
DisplayMode
Event
MediaTracker
Polygon
TextureShape
Clases de Layout
Eventos
†
Para capturar eventos de los componentes
gráficos, una clase requiere implementar las
interfaces adecuadas para cada tipo de evento
„
„
ActionListener: Eventos generales como
presionar un botón o dar enter en un campo de
texto
Eventos del ratón:
†
†
†
MouseListener
MouseMotionListener
MouseWheelListener
8
Eventos
†
La captura de eventos se realiza de una de las
siguientes formas:
„
„
„
Implementación de interfaces - Listener
Utilizar las clases Adapter
Clases internas (Por medio de las clases Adapter)
Layout
†
Es la forma en la que se distribuirán los
componentes en una interfaz gráfica:
„
„
„
„
„
†
FlowLayout
BorderLayout
CardLayout
GridBagLayout
GridLayout
El layout se asigna a los contenedores
9
Aplicaciones de Consola
†
†
†
Las aplicaciones gráficas de consola requieren
extender a la clase java.awt.Frame
El manejo de estas aplicaciones es similar a
los Applets, pero en este caso son
independientes de un navegador y se ejecutan
en su propia ventana
En estas aplicaciones el primer método que se
ejecuta es main()
El paquete javax.swing
†
†
Swing es un conjunto de clases que
proporcionan componentes más potentes y
flexibles que los de AWT
Estos componentes están escritos
completamente en Java, a diferencia de los
AWT, que dependen de la plataforma
10
Ventanas de diálogo
†
†
A partir de la clase Jdialog, se pueden crear
ventanas que permitan mostrar mensajes o
capturar información del usuario
Algunas clases útiles son:
„
„
„
JOptionPane
JColorChooser
JFileChooser
Uso de Menús
†
Java proporciona las siguientes clases para
trabajar con menús:
„
„
„
„
„
„
JMenuBar
JMenu
JMenuItem
JRadioButtonMenuItem
JCheckBoxMenuItem
JPopupMenu
11