2. GUI en Java
• GUI: (Graphic User Interface o Interfaz Gráfica
de Usuario.
• Conjunto de formas y métodos que posibilitan
la interacción de un sistema con los usuarios
utilizando formas gráficas e imágenes.
• Con formas gráficas se refiere a botones,
íconos, ventanas, fuentes, etc. los cuales
representan funciones, acciones e
información.
3. GUI en Java
• En java existen dos modelos para realizar GUI,
inclusive es posible combinar ambos.
– AWT.
– SWING.
4. AWT
• Abstract Window Toolkit
• Es un kit de herramientas de gráficos, interfaz
de usuario, y sistema de ventanas
independiente de la plataforma original de
Java.
5. AWT
– Contiene clases para crear GUIs.
– Las interfaces de usuario se crean empleando
clases que representan componentes:
botones, ventanas, etc.
– Existen componentes de tipo contenedor.
• Contienen a otros componentes
• Usan gestores de geometría
– Los componentes producen eventos
• provocan la ejecución de ciertos métodos en las clases
escuchadores.
6. Componentes de AWT
java.awt.Component
• Proporciona componentes
de alto nivel para
• construir los interfaces de
usuario.
• Clases:
– Button
– Label
– Checkbox
– Choice
– List
– TextField
– TextArea
– Scrollbar
– Canvas
– Menu
– MenuBar
– PopupMenu
• Contenedores:
– Panel
– Frame
– Dialog
– ScrollPane
8. SWING
• Tanto AWT como Swing proporciona
componentes básicos de GUI para utilizarlos,
tanto en los applets como en las aplicaciones.
• Existen superclases que se pueden extender y
sus propiedades se pueden heredar; las clases
pueden ser abstractas.
• Proporciona componentes básicos de GUI
para utilizarlos, tanto en los applets como en
las aplicaciones.
9. SWING
• Pertenece a las JFC (Java Foundation Classes).
• Biblioteca gráfica de Java desde la versión 1.2.
• Contenido en el paquete “javax.swing”.
• Creada a partir de “java.awt”.
• Permite una interfaz adaptada a cada SO sin
cambio de código.
• Fácil manejo.
11. • Todos los componentes heredan de
javax.swing.JComponent
• JFrame será la base para la aplicación
principal.
• JDialog construirá los dialógos (ventanas).
• El resto de clases serán componentes simples.
• Usar en todas las clases import javax.swing.*;
y import java.awt.*;
Clases de Paquete de Swing
15. Hola Mundo en SWING
import javax.swing.*;
public class HelloWorldSwing {
private static void createAndShowGUI() {
JFrame frame = new JFrame("HelloWorldSwing");
JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
frame.setVisible(true); }
}}
16. Gestores de Esquemas
• Clases que determinan cómo se distribuirán los
componentes dentro del contenedor.
• La mayoría definidos en java.awt
– FlowLayout
– BorderLayout
– GridLayout
– GridBagLayout
– CardLayout (Swing propone alternativa)
– BoxLayout (nueva en Swing: javax.swing)
• JPanel por defecto disponde de un BorderLayout
17. • Una GUI normalmente añade varios paneles al
contentpane, para diferentes usos, como
mostrar datos, gráficos, interactuar con el
usuario...
• Cada panel puede tener diferentes layouts, y
contener otros componentes y contenedores.
JPanel
18. JButton
• Es un botón que puede contener texto,
gráficos, o ambos.
• jButton1 = new javax.swing.JButton();
• jButton1.setText(“Aceptar");
21. JCheckBox
• Es un control que representa dos estados (On
y Off).
• •
• Mismas propiedades y metodos que los
anteriores.
• •Metodos isSelected() y setSelected(boolean)
22. JRadioButton
• Permiten seleccionar una única opción dentro
de un conjunto de opciones relacionadas.
• Sólo puede haber una opción seleccionada a
la vez.
• Métodos similares a los de JCheckBox.
23. JRadioButton
• Los botones de radio (como los checkboxes),
suelen aparecer agrupados, con una leyenda
identificativa.
• Para ello, en Swing se utiliza un panel, con un
borde y un título, agrupandolos en un
ButtonGroup.
24. JComboBox
• Esta componente nos permite, al hacer click
sobre ella, seleccionar una opción de entre un
conjunto, todas ellas mutuamente exclusivas.
25. • •Se pueden generalizar en dos tipos:
– Editables
– No editables
• •Metodos:
– . setEditable(boolean);
– . addItem(Objeto);
– . getSelectedItem();
JComboBox
27. JList
• Es un componente que muestra un conjunto de ítems de
texto, gráfico o ambos.
• Permite tres tipos de selección:
– Ítem único
– Rango simple
– Rango múltiple
• •Mediante el metodo:
– .setSelectionMode(ListSelectionModel.SELECTION);
• . Donde SELECTION puede ser:
– SINGLE_SELECTION
– SINGLE_INTERVAL_SELECTION
– MULTIPLE_INTERVAL_SELECTION