PDF de programación - Java GUI - La librería Swing

Imágen de pdf Java GUI - La librería Swing

Java GUI - La librería Swinggráfica de visualizaciones

Publicado el 24 de Julio del 2018
1.856 visualizaciones desde el 24 de Julio del 2018
874,9 KB
53 paginas
Creado hace 11a (16/02/2013)
Java GUI

La librería Swing



Programación conducida por eventos

 En programas tradicionales (basados en texto):

 el programa controla el flujo de la ejecución

 el programa controla la secuencia de las
entradas

 Los programas con GUI son “event-driven”

 la secuencia de las entradas controlan el flujo
de la ejecución

 el sistema invoca código del usuario

Programación conducida por eventos



Código

del

sistema



Su código

Generación de eventos

1. Las acciones tales como: pulsar un botón, mover el
mouse, etc. son reconocidas e identificadas por los
sistemas operativos (OS) o la JVM.

2. Por cada acción el OS/JVM determinan cuál de los
programas que se están ejecutando recibirán la señal
(de la acción).

3. Las señales que la aplicaciones reciben del OS/JVM
como resultado de una acción son llamadas
eventos.

Generación de eventos

GUI

Acciones Mouse, Teclado,etc.

Sistema Operativo

JAVA API /Windows

Eventos

Métodos

Aplicación 1

Métodos

Aplicación 2

Manejo de eventos

 Una aplicación responde a los eventos ejecutando
código adecuado para cada tipo particular de eventos.

 No todos los eventos necesitan ser tenidos en cuenta
por una aplicación. Por ejemplo: Una aplicación para
dibujar puede estar interesada sólo en movimientos del
mouse.

 Como diseñador de una aplicación manejada por
eventos, deberá escribir clases/métodos para manejar
los eventos relevantes.

Java GUI

 Java provee dos librerías para crear GUIs:

 Java AWT (Abstract Window Toolkit)

 Java Foundation Classes (JFC o Swing), a partir
de Java2

Java Foundation Classes

 JFC es una colección muy
grande de software.
 AWT y Swing son las dos
grandes
para
desarrollo de GUI en el
entorno Java.

familias

JFC APIs

AWT Swing

Drag & Drop

2D API

Accessibility

Java Foundation Classes

Swing

 Implementada sin usar código nativo (100% Java),
con lo cual la GUI se verá de la misma forma en
distintas plataformas.

 Basada en la arquitectura MVC.

 Ofrece una amplia variedad de Look & Feel.

 Los componentes de Swing continuarán siendo
mejorados en el futuro.



AWT y Swing

 Los componentes de Swing tienen nombres que
comienzan con J.

 Ejemplo: Button en AWT es JButton en Swing

 Los componentes de AWT están en el paquete

java.awt, los de Swing en javax.swing.

 import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

Paquetes JFC/Swing












javax.swing.plaf
javax.swing.plaf.basic
javax.swing.plaf.metal
javax.swing.plaf.multi



javax.swing.text
javax.swing.text.html
javax.swing.text.html.parser
javax.swing.text.rtf

• javax.swing

• javax.swing.table

• javax.swing.tree

• javax.swing.border

• javax.swing.colorchooser

• javax.swing.filechooser



• javax.swing.event

• javax.swing.undo

Paquetes JFC/Swing

Control del

“Look & Feel”

de Swing

Componentes,

incluyendo

componentes

complejos

Widgets basados en texto
( incluyendo html/rtf )

Paquetes nuevos de eventos

Overview of JFC/Swing Packages•javax.swing.plaf •javax.swing.plaf.basic •javax.swing.plaf.metal•javax.swing.plaf.multi •javax.swing.text •javax.swing.text.html •javax.swing.text.html.parser •javax.swing.text.rtf •javax.swing •javax.swing.table •javax.swing.tree •javax.swing.border •javax.swing.colorchooser •javax.swing.filechooser•javax.swing.event •javax.swing.undo Aplicaciones basadas en GUI

 El desarrollo de una aplicación basada en GUI requiere la
comprensión de:

 Estructura de la jerarquía de herencia, que define el
comportamiento y atributos de los componentes en la GUI
de la aplicación.

 Estructura de la jerarquía de contenedores, que
define cómo se disponen todos los componentes en la GUI
de la aplicación.

 Manejo de eventos.

Jerarquía de Herencia

Contenedores en Swing

JToolbarJMenuBarJDesktopPaneJComponentJMenuJOptionPaneJPanelJPopupMenuJInternalFrameJRootPaneJLayeredPaneJScrollPaneJTabbedPaneJSplitPanejava.awt.Container Similar a

AWT

Componentes de Swing

 La clase Component (y sus subclases) proveen soporte
para manejo de eventos, cambio del tamaño de un
componente, control de color y fuentes, pintado.

 Un componente es un objeto de una subclase concreta.

Se distinguen dos clases de componentes:

 Componentes de control de la GUI: la interacción
de la GUI con el usuario se realiza a través de ellos.

 Contenedores: contienen otros componentes (u otros
contenedores).

Contenedores

 Anidamiento de componentes (Jerarquía de contenedores
en contraste con la Jerarquía de herencia). Cada
programa Swing contiene al menos una.
 Swing provee 4 contenedores de alto nivel (ventana
base de la GUI):
JFrame, JApplet, JDialog y JWindow.
 La jerarquía está compuesta de diferentes capas.
Cada contenedor de alto nivel contiene un contenedor
intermedio conocido como “content pane ”. En casi todos
los programas no es necesario conocer qué hay entre el
contenedor de alto nivel y el content pane.

Jerarquía de contenedores

Ejemplo

import javax.swing.JFrame;

import javax.swing.JPanel;

import java.awt.Container;

import java.awt.Color;

public class Ejemplo {

public static void main(String args[]){

//Se crea un objeto JPAnel de 300X300 y color rojo

JPanel panelRojo =new JPanel();

panelRojo.setBackground(Color.RED);

panelRojo.setSize(300,300);

//Se crea una ventana de 300X300

JFrame ventana=new JFrame("Prueba en rojo");

ventana.setLocation(100,100);

ventana.setSize(300,300);

ventana.setVisible(true);

//Se coloca el JPanel en el content pane

Container contentPane=ventana.getContentPane();

contentPane.add(panelRojo);

}

}

Jerarquía de contenedores

 La apariencia de una GUI está determinada por:
 La jerarquía de contenedores
 El Layout Manager de cada contenedor
 Las propiedades de los componentes individuales

 Todos estos ítems trabajan en conjunto para determinar
el efecto visual final.

Estructura de un JFrame

Content Panes

 Usualmente es un JPanel.

 En la mayoría de las aplicaciones Swing contiene casi

todo, excepto la barra de menú.

 Debe ser creado explícitamente.

Contenedores de alto nivel

Applet

Dialog

Frame

Contenedores generales

Panel

Scroll Pane

SplitPane

TabbedPane

Toolbar

JFrame

Algunos métodos de JFrame

 Para construir una ventana con un título y mostrarla:
JFrame theWindow = new JFrame( "Graffiti" );
theWindow.show( );
//idem theWindow.setVisible(true);

 Para determinar su tamaño:

theWindow.setJMenuBar(cyanMenuBar);

theWindow.setSize( 220, 100 );//o mejor

theWindow.pack();



Nueva funcionalidad de JFrame

 setDefaultCloseOperation(int) es la más importante:

 DO_NOTHING_ON_CLOSE

 HIDE_ON_CLOSE (default) oculta el frame cuando el
usuario lo cierra pero no se deshace de los recursos del
sistema asociados (puedo volver a mostrar).

 DISPOSE_ON_CLOSE oculta el frame y llama al método
dispose(), para liberar recursos.

 EXIT_ON_CLOSE, cierra la aplicación (System.exit(0))

Hello World en Swing

import javax.swing.*;
import java.awt.event.*;

public class HolaMundo {
public static void main(String[] args) {
JFrame frame = new JFrame("HolaMundoSwing");
final JLabel label = new JLabel("Hola Mundo");
frame.getContentPane().add(label);


//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
;

frame.addWindowListener(new
java.awt.event.WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);

frame.pack();
frame.setVisible(true);
}
}

Componentes atómicos

Componentes de tipo JPanel almacenan otros objetos
de la GUI tales como: botones, etiquetas, campos de
texto, etc. Estos objetos gráficos son considerados
componentes atómicos, puesto que no pueden almacenar
otros objetos de la GUI.



Componentes atómicos básicos

Buttons

Combo Box

List

Menu

Slider

Spinner

Text Fields

Componentes atómicos no editables

Label

Progress Bar

Tool tip

Otros componentes atómicos

Color Chooser

File Chooser

Table

Text

Tree

API de los componentes GUI

 Componente GUI en Java= class

 Propiedades

 Métodos

 Eventos


JButton

Componentes GUI

1.- Crear
 Instanciar objeto: b = new JButton(“press me”);
2.- Configurar
 Propiedades: b.text = “press me”; (evitar en Java)
 Métodos:
b2 = new JButton("Middle button", middleButtonIcon);
b2.setVerticalTextPosition(AbstractButton.BOTTOM);
b2.setHorizontalTextPosition(AbstractButton.CENTER);
b2.setMnemonic(KeyEvent.VK_M);
b2.setToolTipText("This middle button does nothing “
+ "when you click it.");
3.- Añadir
 panel.add(b);
4.- Manejar eventos

Características especiales

 Los componentes Swing ofrecen características especiales:

Tool tip

Mnemonic

Disable

Cuando el cursor del mouse se detiene
sobre un componente se muestra una
línea de texto.

Se ejecuta una acción como resultado del
pulsado de una combinación de teclas.

Un componente puede ser explícitamente
habilitado o deshabilitado.

Border

Rodea un componente con un borde.

Características especiales

 Tool tips



JButton button = new JButton ("Compute");

bu
  • Links de descarga
http://lwp-l.com/pdf12679

Comentarios de: Java GUI - La librería Swing (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad