PDF de programación - Desarrollo de interfaces gráficas de usuario usando SWT (Standard Widget Toolkit) - Ingeniería software - 4º de Físicas

Imágen de pdf Desarrollo de interfaces gráficas de usuario usando SWT (Standard Widget Toolkit) - Ingeniería software - 4º de Físicas

Desarrollo de interfaces gráficas de usuario usando SWT (Standard Widget Toolkit) - Ingeniería software - 4º de Físicasgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.283 visualizaciones desde el 14 de Enero del 2017
849,2 KB
29 paginas
Creado hace 15a (01/04/2009)
Ingeniería Software
Ingeniería software

4º de Físicas
4º Físicas

Desarrollo de interfaces gráficas de usuario

usando SWT

(Standard Widget Toolkit)

José M. Drake y Patricia López
Computadores y Tiempo Real

Santander, 2008

1

Interfaces gráficas: Programación dirigida por eventos

Una GUI constituye un ejemplo de programa dirigido por eventos:
! el programa sólo realiza acciones en respuesta a las órdenes recibidas por el usuario
! las órdenes se envían a través de las interacciones del usuario con la interfaz

Santander, 2008

SWT

J.M. Drake y P. López

2

Recursos para desarrollo de GUIs en Java

AWT – Abstract Windows Toolkit
! Tiene una arquitectura muy simple y consiste en una capa que permite el
acceso desde Java de los recursos gráficos disponibles en el sistema
(Windows, Macintosh, Linux, etc.)

Swing – Introducidas con las Java FoundationClasses
! Son componente puramente Java y crean un aspecto que es

independiente del sistema que queda por debajo.

SWT - Standard Widget Toolkit
! Ha sido introducido con la plataforma Eclipse y es una capa muy fina
que proporciona acceso a los elementos nativos. Se basa en la definición
de una interfaz muy sencilla y común para todos los sistemas

JFACE
! Ha sido introducido con la plataforma Eclipse y proporciona recursos
para llevar a cabo las tareas comunes del desarrollo de GUIs. Es útil
cuando se desarrollan GUIs complejas

Santander, 2008

SWT

J.M. Drake y P. López

3

Incorporar la librería SWT a un proyecto Java en Eclipse

Pulse el botón derecho sobre el proyecto y seleccione Build Path >
Configure Build Path
Seleccione la pestaña Libraries y pulse el botón Add Library.
Seleccione la librería SWT pulse Next y OK para finalizar añadiendo
las librerías SWT a su proyecto.

Santander, 2008

SWT

J.M. Drake y P. López

4

Ejemplo HelloWorld

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;

public static void main(String[] args) {

Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Hello World");
shell.setBounds(100, 100, 200, 200);
shell.setLayout(new FillLayout());
Label label = new Label(shell, SWT.CENTER);
label.setText("Hola Mundo");
shell.open();
while (!shell.isDisposed()) {

if (!display.readAndDispatch()) display.sleep();

01 public class Helloword {
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16 }

}
display.dispose();

}

Santander, 2008

SWT

J.M. Drake y P. López

5

Estructura de una GUI desarrollada con SWT

Los objetos de la clase Display representan el enlace entre la aplicación SWT y el gestor
de ventanas del sistema operativo
! No son visibles
!

Existe un único elemento Display por cada aplicación

Los objetos de la clase Shell representan ventanas visibles dentro de la GUI a través de
las que se interacciona con el usuario
! Actúa como parent o contenedor de los elementos (Widgets) que forman la GUI.
! Gestiona los desplazamientos y cambios de tamaño.
!

Existe siempre una ventana principal, que se asocia en su creación al Display que la gestiona
Pueden existir ventanas secundarias o diálogos, que se asocian a otras ventanas

!

Widget es la clase raíz de todos los elementos gráficos que se pueden utilizar en una GUI
SWT

!

Todos los widgets se crean asociados al elemento que pertenecen

La creación de cualquier GUI en SWT se inicia siempre:

Display display = new Display();
Shell shellPrincipal = new Shell(display);

Santander, 2008

SWT

J.M. Drake y P. López

6

Clase Display

Constructor:
! Display()

Cuando se requiera invocar el objeto Display se puede obtener por los métodos:
! getCurrent() Retorna el display asociado al thread (línea de flujo) actual, o null si no

hay ninguno asociado a dicho thread.

! getdefault() Retorna el display por defecto, que es el primero que se creo en el

sistema. Si no existe ninguno, se crea uno.

Otros métodos de interes ofrecidos por la clase Display son:
!

close() Cierra la conexión entre la GUI y el sistema operativo.
dispose() : Libera los recursos del sistema asociados al display
getActiveShell() Retorna la ventana activa.
getShells() Retorna un array con todas las ventanas disponibles asociadas al display.
getCursorControl() Retorna el elemento de la GUI sobre el que está situado el cursor.
getCursorLocation() Retorna la posición del cursor respecto a la esquina superior
izquierda de
getFocusControl() Retorna el elemento que se encuentra enfocado.
getSystemColor(int) Retorna un color estándar por su índice.
getSystemFont() Retorna el tipo de letra establecido por defecto.

la pantalla

!

!

!

!

!

!

!

!

Santander, 2008

SWT

J.M. Drake y P. López

7

Clase Shell

Constructor:
! Shell (Display display) : Crea una ventana asociada al correspondiente display (ventana de

primer nivel).

! Shell (Shell shell) : Crea una ventana asociada a otra (ventana secundaria).

Métodos contenidos en su API son:
! close() Cierra la ventana y libera los recursos del sistema.
! getdisplay() Retorna el display que soporta a la ventana.
! getShells() Retorna el array con todas las ventanas definidas en ella.
! isEnabled() Retorna True si la ventana está habilitada.
! open() Construye la ventana para que se haga visible y admita interacciones.
! setActive() Pasa la ventana a primer plano
! setEnabled(boolean enabled) Habilita/deshabilita la ventana para que reciba

eventos.

! setVisible(boolean visible) Haz visible/novisible la ventana.

Santander, 2008

SWT

J.M. Drake y P. López

8

Gestión de eventos en una GUI

La interacción entre la GUI y el sistema operativo está dirigida por eventos (los
generados por interacción con los elementos de la GUI).
El thread de la GUI (el que crea el Display) es el único que puede crear o modificar
elementos de control. Si lo hace otro thread, se lanza la excepción SWTException.
El thread de la GUI permanece a la espera de la llegada de eventos, los atiende y
vuelve de nuevo a situación de espera

while (!shell.isDisposed()) {

if
(!display.readAndDispatch())

display.sleep();

}

The GUI Thread
Has the shell been disposed?

yes

no

Reads and dispatches events

Are there events
for dispatching?

yes

no
sleeps

Disposes the display

and exits.

Santander, 2008

SWT

J.M. Drake y P. López

9

Jerarquía de los elementos de control

En el árbol de la derecha se muestra
la jerarquía de los elementos que se
proporcionan en la librería SWT

Todos los elementos descienden de
alguna
clases
abstractas:

estas

tres

de

! Widget: Es el antecesor de todos los
objetos que se pueden añadir a una GUI
SWT.

! Control: Es el antecesor de todos los
elementos visibles que se pueden incluir
en una GUI SWT.

!

Scrollable: Es el antecesor de todos los
elementos que pueden ser muy grandes,
y por tanto pueden incorporar bandas
laterales de desplazamiento

Santander, 2008

SWT

J.M. Drake y P. López

10

Clase Control

La clase Control, de la que heredan todos los elementos, es la que tiene los
métodos generales más importantes. Algunos métodos interesantes son:
! getdisplay() Retorna el display con el que interacciona con el sistema.
! getParent() Retorna el elemento dentro del que se ha declarado.
! getShell() Retorna el shell dentro de que se encuentra declarado.
! isEnabled() Retorna True si el elemento está habilitado para la interacción.
! isVisible() Retorna True si es visible en la ventana.
! setBackground(Color) Establece el color de fondo.
! setBounds(Rectangle) Establece el tamaño y la posición del elemento de control.
! setEnabled(boolean) Habilita el elemento para que admita interacción.
! setVisible(boolean) Haz que aparezca visible o no el elemento de control.
! boolean setFocus() Enfoca el elemento de control para que reciba los eventos del

teclado.

! setFont(Font) Establece el tipo de letra.
! setLayoutData(Object) Establece los datos que definen la política de distribución de

elementos dentro de él.

! setSize(Point) Establece el tamaño del elemento de control.

Santander, 2008

SWT

J.M. Drake y P. López

11

Clase Label

Control estático que muestra texto o imágenes no modificables

Constructor:
! Label (Composite parent, int style)

Estilos que son útiles cuando se crea son:

SWT.SHADOW_IN Creates an inset shadow around the widget.
SWT.SHADOW_OUT Creates an outset shadow around the widget.
SWT.SHADOW_NONE Creates a widget with no shadow.
SWT.WRAP Causes the text of the widget to wrap onto multiple lines, if necessary.
SWT.SEPARATOR Creates a single vertical or horizontal line.
SWT.HORIZONTAL Creates a horizontal line.
SWT.VERTICAL Creates a vertical line.
SWT.LEFT Left-justifies the widget within its bounding box.
SWT.RIGHT Right-justifies the widget within its bounding box.
SWT.CENTER Centers the widget within its bounding box.

"

"

"

"

"

"

"

"

"

"

Métodos que ofrece su API son:
! setAlignment(int) Controls how text and images will be displaye. Valid arguments

include SWT.LEFT, SWT.RIGHT, and SWT.CENTER.

! setImage(Image) Sets the receiver's image to the argument, which may be null,

indicating that no image should be displayed.

! setText(String) Sets the receiver's text.

Santander, 2008

SWT

J.M. Drake y P. López

12

Clase Button

Control que representa un botón, que puede iniciar una acción cuando se pulsa con el ratón.

Constructor:

! Button (Composite parent, int style)

Estilos útiles para la creación de botones son:

!

!

!

!

!

!

!

!

!

!

!

!

SWT.ARROW Creates an arrow button widget.
SWT.CHECK Creates a checkbox widget.
SWT.PUSH Creates a pushbutton widget.
SWT.RADIO Creates a radio button widget.
SWT.TOGGLE Creates a toggle button widget.
SWT.UP / SWT.DOWN Creates an upward/downward-pointing arrow button.
SWT.LEFT/ SWT.RIGHT Creates a leftward/rightwared-pointing arrow
  • Links de descarga
http://lwp-l.com/pdf959

Comentarios de: Desarrollo de interfaces gráficas de usuario usando SWT (Standard Widget Toolkit) - Ingeniería software - 4º de Físicas (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