Interfaces Graficas en Java PDF
Interfaces Graficas en Java PDF
Interfaces Graficas en Java PDF
Interfaces Gráficas en Java
GUIJAVA: AWT
ABSTRACT WINDOW TOOLKIT. esta es una biblioteca de clases java para
interfaces de usuario.
Por cada elemento de AWT existe un elemento en el sistema operativo que
lo representa.
El resultado final depende de este resultado.
No se ve igual en diferentes plataformas.
R.U.G.A. 2
GUIJAVA: SWING
SWINGJFC. Esta es una extensión de AWT.
SWING
Componentes Contenedores
• I. Crear un contenedor superior y obtener su contenedor intermedio
• II. Seleccionar un gestor de esquemas para el contenedor intermedio
• III. Crear los componentes adecuados
• IV. Agregarlos al contenedor intermedio
• V. Dimensionar el contenedor superior
• VI. Mostrar el contenedor superior
R.U.G.A. 4
CONSTRUCCION GUI
1. Crear un contenedor superior y obtener su contenedor
intermedio
JFrame JApplet JDialog
import java.awt.*;
import javax.swing.*;
public class ejemploGUI{
public static void main(String[] args){
JFrame ventana = new JFrame("Primer ejemplo");
Container cont = ventana.getContentPane();
}
}
R.U.G.A. 5
CONSTRUCCION GUI
2. Seleccionar un gestor de esquemas
Determinar como encajan los componentes dentro de los contenedores
1. FlowLayout: Es el predeterminado para JPanel coloca los componentes
secuencialmente de izquierda a derecha en el orden que se colocaron.
2. BorderLayout: Es el predeterminado para JFrame y JApplet. Ordena los
componentes en cinco áreas: NORTH, SOUTH, EAST, WEST y CENTER.
3. GridLayout: Ordena los componentes en filas y columnas.
4. GridBagLayout: Es similar a GridLayout solo que el tamaño de cada
componente puede variar y pueden agregarse componentes en
cualquier orden.
5. CardLayout: El CardLayout hace que los componente recibidos ocupen el
máximo espacio posible, superponiendo unos a otros. Sólo es visible uno
de los componentes, los otros quedan detrás. Tiene métodos para indicar
cual de los componentes es el que debe quedar encima y verse.
6. BoxLayout: La clase Box declare y proporciona métodos estáticos para
crear un objeto Box con un esquema BoxLayout horizontal o vertical
R.U.G.A. 6
CONSTRUCCION GUI
2. Seleccionar un gestor de esquemas para el
contenedor intermedio
import java.awt.*;
import javax.swing.*;
public class ejemploGUI{
public static void main(String[] args){
JFrame ventana = new JFrame("Primer ejemplo");
Container cont = ventana.getContentPane();
cont.setLayout(new FlowLayout());
}
}
R.U.G.A. 7
CONSTRUCCION GUI
3. Crear los componentes adecuados
import java.awt.*;
import javax.swing.*;
public class ejemploGUI{
public static void main(String[] args){
JFrame ventana = new JFrame("Primer ejemplo");
Container cont = ventana.getContentPane();
cont.setLayout(new FlowLayout());
cont.add(new JButton("Boton A"));
cont.add(new JButton("Boton B"));
cont.add(new JButton("Boton C"));
cont.add(new JButton("Boton D"));
cont.add(new JButton("Boton E"));
}
}
R.U.G.A. 8
CONSTRUCCION GUI
4. Agregarlos al contenedor intermedio
import java.awt.*;
import javax.swing.*;
public class ejemploGUI{
public static void main(String[] args){
JFrame ventana = new JFrame("Primer ejemplo");
Container cont = ventana.getContentPane();
cont.setLayout(new FlowLayout());
cont.add(new JButton("Boton A"));
cont.add(new JButton("Boton B"));
cont.add(new JButton("Boton C"));
cont.add(new JButton("Boton D"));
cont.add(new JButton("Boton E"));
}
}
R.U.G.A. 9
CONSTRUCCION GUI
5. Dimensionar el contenedor superior
import java.awt.*;
import javax.swing.*;
public class ejemploGUI{
public static void main(String[] args){
JFrame ventana = new JFrame("Primer ejemplo");
Container cont = ventana.getContentPane();
cont.setLayout(new FlowLayout());
cont.add(new JButton("Boton A"));
cont.add(new JButton("Boton B"));
cont.add(new JButton("Boton C"));
cont.add(new JButton("Boton D"));
cont.add(new JButton("Boton E"));
ventana.setSize(350,250);
}
}
R.U.G.A. 10
CONSTRUCCION GUI
6. Mostrar el contenedor superior
import java.awt.*;
import javax.swing.*;
public class ejemploGUI{
public static void main(String[] args){
JFrame ventana = new JFrame("Primer ejemplo");
Container cont = ventana.getContentPane();
cont.setLayout(new FlowLayout());
cont.add(new JButton("Boton A"));
cont.add(new JButton("Boton B"));
cont.add(new JButton("Boton C"));
cont.add(new JButton("Boton D"));
cont.add(new JButton("Boton E"));
ventana.setSize(350,250);
ventana.setVisible(true);
}
}
R.U.G.A. 11
CONSTRUCCION GUI
R.U.G.A. 12
Gestión de eventos
La gestión de eventos es de vital importancia en los programas que contienen
una interfaz gráfica de usuario. Todas las acciones que pueda realizar el usuario
caen dentro de un gran saco que son los eventos. Un evento describe, con
suficiente detalle, una acción particular del usuario.
Todo sistema operativo que utiliza interfaces gráficas de usuario debe estar
constantemente monitorizando el entorno para capturar y tratar los eventos
que se producen. El sistema operativo informa de estos eventos a los programas
que se están ejecutando, y entonces cada programa decide qué hace para dar
respuesta a esos eventos.
Los eventos pueden estar producidos por el sistema o por el usuario. Por ejemplo,
pulsar una tecla o mover el ratón.
R.U.G.A. 13
Gestión de eventos
Los tres componentes clave de un proceso de gestión de eventos son:
Evento (hacer clic en un botón, pulsar una tecla, etc.)
Interfaz Listener (ActionListener, WindowListener, etc.)
Objeto (botón, marco, campo de texto, etc.) que “escucha” el evento
R.U.G.A. 14
Evento Swing
Cada vez que el usuario escribe un carácter o hace clic en un botón, la
máquina virtual de Java (JVM) genera un evento. A continuación se
incluyen algunos ejemplos de eventos Swing:
Acción que desemboca en el evento Tipo de oyente
El usuario pulsa un botón o Enter
ActionListener
mientras escribe en un campo de texto
El usuario cierra un marco (ventana principal) WindowListener
El usuario pulsa un botón del ratón MouseListener
El usuario mueve el ratón sobre un componente MouseMotionListener
El componente se hace visible ComponentListener
El componente obtiene el foco del teclado FocusListener
La selección de la tabla o la lista cambia ListSelectionListener
R.U.G.A. 15
Interfaz Listener
Un listener de eventos es una interfaz de Java que contiene una colección de
declaraciones de métodos. Las clases que implementan la interfaz deben definir
estos métodos. A continuación se incluye una lista de eventos, listeners y métodos:
Evento Interfaz Métodos
WindowEvent WindowListener windowActivated(WindowEvent e)
windowDeactivated(WindowEvent e)
windowClosed(WindowEvent e)
windowClosing(WindowEvent e)
windowOpened(WindowEvent e)
windowDeiconified(WindowEvent e)
windowIconified(WindowEvent e)
ActionEvent ActionListener actionPerformed(ActionEvent e)
ItemEvent ItemListener itemStateChanged(ItemEvent e)
TextEvent TextListener textValueChanged(TextEvent e)
FocusEvent FocusListener focusGained(FocusEvent e)
focusLost(FocusEvent e)
KeyEvent KeyListener eyPressed(KeyEvent e)
keyReleased(KeyEvent e)
keyTyped(KeyEvent e)
R.U.G.A. 16
Ejemplo eventos
contadorDeClicks.java
R.U.G.A. 17
Controles Swing
ejemploJLabel.java
otroEjemploBoton.java
tresBotones.java
checkboxEjemplo.java
RadioDemo.java
ComboDemo.java
demoPanel.java
TextDemo.java
MenuDemo.java
R.U.G.A. 18