Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La Java FoundationClasses(JFC) se compone del AWT, Swing y Java 2D. Juntas, proporcionan una interfaz de
usuario consistente para programas Java, tanto si el sistema de interfaz de usuario es Windows, Mac Oso Linux.
También suministra gestores de disposición básicos, un paquete de transferencia de datos para uso con el bloc de
notas, arrastrar y soltar y la interfaz para los dispositivos de entrada comunes como el ratón y el teclado.
Java Swing es un paquete que contiene un conjunto de librerías queprovee herramientas o facilidades para la
construcción deGUI'so Interfaces Graficas de Usuario (GraphicalUser Interface).Tiene las características de AWT
(AbstractWindowToolkit, Herramientas de Ventana Abstracta). Pero como conjunto de componentes de mayor nivel. Por esto, que
la mayoría de los programas Swing necesitan importar dos paquetes AWT:java.awt.*; (no siempre necesario) y java.awt.event.*;
y import.javax.swing.*;
JComponent: superclase de todos los componentes de Swing que se dibujan directamente en los lienzos
(canvas). Sus subclases son los elementos básicos de la GUI.
JFrame:: ventana que no está contenida en otras ventanas. Generalmente usada como base para la
aplicación principal.
JDialog: cuadro de diálogo.
String el título
JPanel:: contenedor invisible que mantiene componentes de interfaz y que se puede anidar, colocándose en
otros paneles o ventanas. También sirve de lienzo.
JTextField. Permite al usuario introducir datos mediante el teclado. También se puede utilizar para mostrar
texto que puede o no editarse.
Programación Orientada a Objetos Mónica
nica E. García
JButton. Activa un evento cuando se oprime mediante el ratón.
JComboBox. Proporciona una lista desplegable de elementos, a partir de los cuales el usuario puede realizar
una selección, haciendo click en un elemento o posiblemente escribiendo en el cuadro.
JList . Proporciona una lista de elementos a partir de los cuales el usuario puede realizar una selección,
haciendo click en cualquier elemento de la lista. Pueden seleccionarse varios elementos.
JOptionPane
Métodos:
int tipoMensaje
int tipoOpcion
Object [ ] opciones
Object valorInicial
Ejemplo JOptionPane
import javax.swing.JOptionPane;
Categorías de clases:
Un programa que implemente una interfaz gráfico va a tener, generalmente, cuatro tipos de elementos:
1. Un contenedor de nivel superior: un marco (JFrame), un applet (JApplet), o bien objetos JDialog.
Estos contenedores no están dentro de otra ventana, son las ventanas principales.
Permiten crear ventanas para las aplicaciones y en ellas incluir otros componentes (paneles, botones,
cajas de texto, etc. , los cuales tienen comportamientos similares y a simple vista pueden parecer
iguales, pero son componentes distintos.
2. Componentes de la interfaz gráfica, como botones, campos de texto, etc, que se ubican en la ventana
principal o en contenedores.
3. Contenedores. Diseñados para contener a otros elementos de la interfaz. JPanel, JScrollPane son dos
contenedores. Estos contenedores a su vez son componentes.
Ejemplo:
import javax.swing.*;
publicframe(){ // Constructor
El método setDefaultCloseOperation que hace que el JFrame se comporte de forma diferente cuando se
cierra en función de los distintos valores que se le pueden pasar al método:
import javax.swing.*;
public EjemploGuia( ) {
setVisible(true);
JLabel
Para añadir un control, además de importar su paquete, se deben hacer tres fases: primero, instanciar
el control, segundo colocarlo en una ubicación y tercero añadirlo al panel con el método add().
Ejemplo:
this.getContentPane.add(etiqueta);
LayoutManager
El efecto de add( ) depende del esquema de colocación o disposición (layout) del contenedor
que se use.
Los layouts determinan el criterio con el que se van a distribuir los componentes dentro del
contenedor:
Programación Orientada a Objetos Mónica E. García
FlowLayout: distribuye los componentes uno al lado del otro en la parte superior del
container. Por defecto provee una alineación centrada, pero puede alinearse a la
izquierda o a la derecha.
GrindLayout: Divide el espacio del contenedor en una tabla de n filas por m columnas,
en donde sus celdas tienen el mismo tamaño.
GrindBagLayout: Divide el espacio del contenedor en una tabla donde cada componente
puede ocupar varias filas y columnas. Además, permite distribuir el espacio interno de
cada celda.
Ejemplos:
setLayout(new BorderLayout( ) );
setLayout(new FlowLayout( ) );
setLayout(new GridLayout(3, 4) );
El layout manager elige la mejor posición y tamaño de cada componente de acuerdo al espacio
disponible.
import javax.swing.JFrame;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JPanel;
public BorderLayoutPanel() {
// se estable el layout
init();
this.add(north, BorderLayout.NORTH);
this.add(south, BorderLayout.SOUTH);
this.add(east, BorderLayout.EAST);
this.add(west, BorderLayout.WEST);
this.add(center, BorderLayout.CENTER);
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setVisible(true);
javax.swing.SwingUtilities.invokeLater(new Runnable() {
createAndShowGUI();
} });
Eventos en Java
• Todo componente de la GUI puede generar eventos
• Acciones del usuario sobre el componente
• Temporizaciones
• Cambios de estado, etc.
Modelo de Delegación
La responsabilidad de gestionar un evento que sucede en un componente (Fuente ) la tiene otro objeto
(Oyente)
Propagación de Eventos
El componente Fuente del evento invoca a un método del objeto Oyente, pasándole como un
argumento un objeto que almacena toda la información relativa al evento .
Swing puede generar un variado set de eventos, en la siguiente tabla se resumen los más comunes con
sus respectivos "escuchadores".
ActionListener
Se usa para detectar y manejar eventos de acción, es decir, los que tienen lugar cuando se produce
una acción sobre un elemento del programa.
Los distintos elementos en una aplicación están supervisados por Listeners que detectan las
acciones que tienen lugar sobre el elemento vigilado. Cuando ActionListener detecta una acción se
genera un evento de acción (ActionEvent) en el elemento. Los ActionEvent invocan el método
actionPerformed(ActionEvent e) que realiza las acciones programadas ante ese evento.
Referencias:
Designing a Swing GUI in NetBeans IDE( Diseñando GUI Swing en el IDE NetBEans).
https://netbeans.org/kb/docs/java/quickstart-gui.html Fecha última de acceso: 03 de mayo de 2017.
API de Java- Paquete javax.swing https://docs.oracle.com/javase/7/docs/api/javax/swing/package-
summary.html Fecha última de acceso: 03 de mayo de 2017.