0% encontró este documento útil (0 votos)
334 vistas34 páginas

Aplicaciones Graficas en Java

Este documento describe las bibliotecas gráficas AWT y Swing en Java. AWT contiene clases e interfaces gráficas básicas, pero su aspecto depende del sistema operativo. Swing evita este problema y proporciona más componentes. Los conceptos clave son componentes, contenedores y eventos. Los componentes se agregan a los contenedores y pueden recibir eventos del usuario. Swing ofrece más funcionalidad que AWT.

Cargado por

jgago
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
334 vistas34 páginas

Aplicaciones Graficas en Java

Este documento describe las bibliotecas gráficas AWT y Swing en Java. AWT contiene clases e interfaces gráficas básicas, pero su aspecto depende del sistema operativo. Swing evita este problema y proporciona más componentes. Los conceptos clave son componentes, contenedores y eventos. Los componentes se agregan a los contenedores y pueden recibir eventos del usuario. Swing ofrece más funcionalidad que AWT.

Cargado por

jgago
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

APLICACIONES GRAFICAS EN

JAVA
INTERFAZ GRAFICO
El lenguaje Java propone dos bibliotecas dedicadas al diseo de interfaces
grficas:
La biblioteca AWT
La biblioteca SWING.
AWT
Contiene clases e interfaces grficas.
Su aspecto visual est relacionada con la representacin que el sistema
operativo hace de el -> no siempre se ver la aplicacin igual en los
distintos sistemas operativos.
El tamao y la posicin de los componentes es lo que mas se ve afectado
por este problema.
INTERFAZ GRAFICO
SWING
Se disea para evitar los problemas anteriores.
Solo algunos elementos graficos (ventanas y cuadros de dialogo) estn
relacionados con el sistema operativo.
Esta biblioteca dispone de las clases que nos serviran para definir los
componentes grficos.

INTERFAZ GRAFICO
El concepto bsico de la programacin grfica es el componente.
Un componente es cualquier cosa que tenga un tamao una posicin,
pueda pintarse en pantalla y pueda recibir eventos (es decir, pueda
recibir acciones por parte del usuario).
Un ejemplo tpico es un botn; el evento ms normal que puede
recibir es que el usuario de la aplicacin pulse el botn.
Podemos resumir los conceptos bsicos de la programacin grfica con
AWT:
Todos los componentes son o bien contenedores (como Frame) o bien
componentes bsicos (como Button).
Los componentes bsicos siempre deben formar parte de un
contenedor para ser visibles.
Los contenedores a su vez se pueden insertar en otros contenedores.
La posicin de un componente en un contenedor depende del tamao
del contenedor y de su estilo (Layout).
INTERFAZ GRAFICO
Todo componente incluye un atributo de tipo Graphics que se encarga de
dibujarlo cuando hace falta.
Si queremos dibujar en el componente tendremos que pedirle que nos
"deje" su objeto de tipo Graphics.
Si queremos que un componente haga algo cuando le ocurra un evento
determinado debemos pasarle un objeto tipo Listener al que l avisar
llegado el momento.
Las idea clave de esta forma de proceder es la llamada delegacin de eventos.
En una aplicacin grfica La funcin main se encargar de crear la ventana
principal, donde se dispondrn los componentes y se indicar a cada
componente a qu clase debe avisar cuando le suceda un evento.
INTERFAZ GRAFICO
A partir de este momento ser el propio lenguaje el que se encargar de
avisar a las clases adecuadas de la existencia de un evento como respuesta a
las acciones del usuario.
Esto significa que se pierde el concepto de ejecucin secuencial que hemos
visto en los programas con entrada/salida de texto.
CLASES DE AWT
COMPONENTES BSICOS AWT
Componentes Bsicos
Clase Descripcin
Button Botones con un texto (Ej: Aceptar)
Canvas Rectngulo para dibujar
Choice Lista desplegable (ej: lista de pases para elegir)
CheckBox Casillas cuadradas para marcar (como en un test)
Label Etiqueta: caracteres que se muestran en un contenedor
List Lista, similar a Choice pero constantemente desplegada
Scrollbar Barra de desplazamiento
TextField
Campo de edicin que puede utilizar el usuario para
introducir datos
TextArea
Similar a TextField pero permite introducir texto que ocupe
varias lneas
CONTENEDORES AWT
Contenedores
Clase Descripcin
Panel
Contenedor bsico que necesita formar parte de una ventana
(o pgina)
Applet Panel preparado para formar parte de una pgina HTML
Window Una ventana sin ttulo ni casillas para minimizar,cerrar,etc.
Frame Una ventana normal, con ttulo (Contenedor Primario)
Dialog
Ventana que se muestra sobre la ventana actual (Ej.: la tpica
ventana para preguntar "Est seguro de ...." y dos botones de
Aceptar y Cancelar)
FileDialog
Similar al anterior, pero especializado para la seleccin de
ficheros (se suele utilizar en las opciones de "Abrir" o "Grabar
como" )
CONTENEDORES
REGLAS BASICAS DE LOS CONTENEDORES:

Un contenedor principal no puede estar dentro de otro contenedor, ni
principal ni secundario
Un contenedor secundario puede contener a otro/s contenedor/es
secundario/s
Un componente solo puede estar en un contenedor: si se aade a un segundo
contenedor, deja de estar en el primero
REGLAS DE FUNCIONAMIENTO
REGLAS BASICAS DE FUNCIONAMIENTO:
Para tener una interfaz funcional, hay que tener un contenedor principal, y
hacerlo visible:
miContainer.setVisible(true).
Un contenedor principal siempre es funcional.
Para ser funcionales, cada componente (incluidos los contenedores
secundarios, no los contenedores principales) tiene que estar en un
contenedor funcional
Para aadir un componente a un contenedor:
miContainer.add(miComponent)
Para eliminar un componente de un contenedor:
miContainer.remove(miComponent)
EVENTOS AWT
EVENTOS
Funcionamiento General y Maneras de Implementarlo
Despus de que al AWT recibe el evento transmitido desde el sistema
operativo, el AWT crea un objeto de una subclase de AWTEvent. Este
objeto tiene que ser transmitido a un determinado metodo para que lo
gestione. Este mtodo esta definido en una interface Listener, que hay que
asociar al componente.
EVENTOS AWT
Ejemplo:
Supongamos que tenemos un botn tal que al clickar en el queremos salir
del programa. El evento asociado al click de un botn es un objeto de la clase
Action-Event, el listener donde hay que tratarlo es un objeto de la interface
ActionListener, y el mtodo que lo gestiona se llama actionPerformed (y tiene
que ser declarado como public).
Para asociar el objeto de la clase ActionListener al botn se usa el mtodo
addActionListener.
De manera que tendremos que tener algo as
Y si la clase principal ya implementa la interface ActionListener, entonces
basta con definir el mtodo actionPerformed en la clase:

public class MiClase() implements ActionListener {
// En alguna parte de la clase (al crearla, por ejemplo)
public MiClase() {
...
// Asocia el listener al boton
miBoton.addActionListener(this);
}
public void actionPerformed (ActionEvent event) {
System.exit(0); // CODIGO ASOCIADO AL EVENTO
}.}
TIPOS DE EVENTOS
Hay dos tipos de eventos:
De bajo nivel: son los que se producen con las operaciones elementales con
el
ratn, teclado, contenedores y ventanas, como por ejemplo:
Pulsar teclas
Mover, pulsar, arrastrar y soltar el raton
Recuperar o perder el foco
Operaciones con ventanas: cerrar, maximizar, minimizar,...
...
De alto nivel: son los que tienen un significado en s mismos (en el contexto
grfico):
Clickar en un botn
Elegir un valor entre varios
Cambiar un texto
Cambiar las barras de desplazamiento
EVENTOS AWT
public class MiClase() {
// En alguna parte de la clase (al crearla, por ejemplo)
public MiClase() {
...
// Crea el listener del evento
ListenerBoton miListenerBoton = new ListenerBoton();
// Asocia el listener al boton
miBoton.addActionListener(miListenerBoton);
}
...
// La clase ListenerBoton es privada
private class ListenerBoton implements ActionListener {
public void actionPerformed (ActionEvent event) {
System.exit(0); // CODIGO ASOCIADO AL EVENTO
}}}
SWING
Swing ofrece una mayor variedad de componentes y eventos, nuevas
funcionalidades y una serie de ventajas sobre AWT.
Adems, entornos de desarrollo como Netbeans incorporan editores grficos
basados en Swing
Una alternativa a Swing es SWT (Standard Widget Toolkit), originalmente
desarrollado por IBM y mantenido por la comunidad de Eclipse.
SWT no es una extensin de AWT, sino que ha sido desarrollado desde
cero.
SWT es ms simple que Swing, ms limpio en cuanto a su diseo y ms
rpido (su rendimiento en plataformas diferentes a Windows es mucho
peor), pero tambin es menos potente, y comparte algunos
de los problemas de portabilidad de AWT.
No est integrado en la instalacin standard de Java, y no est disponible
en todas las plataformas que soportan Java.
SWING VS AWT
Swing ofrece una mucho mayor gama de componentes que AWT:
JTabbedPane, un contenedor con pestaas
JTree, para representar arboles
JComboBox, flexibiliza las listas seleccionables
JTable, para representar tablas
JProgessBar, para mostrar el progreso de la ejecucin
...
Swing amplia los mtodos y eventos disponibles en AWT
Swing ofrece o amplia funcionalidades que AWT no tiene o son poco usables:
Asociar iconos a componentes
Tooltips (sugerencias o comentarios)
Toolbars (barras con botones)
Look & Feel parametrizable
Key bindings: asociar teclas a acciones de componentes (por ejemplo,
hacer la barra espaciadora equivalente a hacer click en el botn)

SWING VS AWT
- Transferencia de datos entre componentes, via cut, copy, paste, y
drag &drop
Funcionalidades de undo y redo sobre componentes
Campos de password
Funcionalidades relacionadas con texto formateado
Posibilidad de trabajar en idiomas con miles de caracteres, tales
como
japons, chino o coreano
Adaptacin a las particularidades locales del idioma (texto de
derecha a
izquierda o de izquierda a derecha,...)
Accesibilidad para personas discapacitadas
CLASES DEL PAQUETE SWING
CLASES DEL PAQUETE SWING
Todos los componentes heredan de javax.swing.Jcomponent

JFrame es la base para la aplicacin principal.
JDialog construir los dilogos (ventanas).

El resto de clases sern componentes simples.
Usar en todas las clases import javax.swing.* e import java.awt.*;

Todas las componentes permiten fijar tooltips (Texto de ayuda de un
componente)
INTERFAZ GRAFICA DE UNA
APLICACION
INTERFAZ GRAFICA DE UNA APLICACIN
Se fundamenta en:
Crear instancias de las clases que representan los elementos necesarios.
Modificar y agrupar las caractersticas de las instancias.
Cdigo de gestin de los diferentes eventos que pueden intervenir en el
desarrollo de la aplicacin.
Una aplicacin grfica est formada por elementos superpuestos y
anidados:
Contenedor de primer nivel: es el encargado de interactuar con el
sistema operativo y abarcar todos el resto de los elementos. (Jframe)
Formado por otros contenedores
Componentes grficos

JButton
Mtodos importantes:

setText(Texto); // Asignar valor a un elemento
setTooltipText(Tooltip); // Informacin del elemento
setBackground(Color.color// color de fondo
setIcon(new ImageIcon(ruta));
setFont(new Font(tipo, estilio, tamao));
setBounds(new Rectangle(posX,posY,tamX,tamY));
Y sus correspondientes get.
getText(var); // obtener el contenido de una variable.
System.exit(1) // salir

JButton
Ejemplo:
Button boton1 = new JButton();

boton1.setBounds(new Rectangle(107, 50, 102, 41));

boton1.setBackground(new Color(91, 238, 89));
boton1.setForeground(Color.red);
boton1.setToolTipText("Prueba");
boton1.setFont(new Font("Comic Sans MS",Font.BOLD, 14));
boton1.setText("Botn de prueba");
Clase JToggleButton
Es un botn que representa dos estados (On y Off).
Mismas caractersticas que el JButton.

Mtodos importantes:
Mismos mtodos que JButton, pero aadiendo algunos nuevos.
isSelected();
setSelected(boolean)

Es posible aadir botones a grupos, para garantizar opciones mutuamente
exclusivas.
Clase JCheckBox
Mismas propiedades y mtodos que los anteriores.

Se pueden emplear Mnemotcnicos.
Mtodos isSelected() y setSelected(boolean)
Clase JRadioButton
Permiten seleccionar una nica opcin dentro de un conjunto de opciones
relacionadas.
Slo puede haber una opcin seleccionada a la vez.
Aunque tiene la misma funcin que los botones de conmutacin agrupados,
conviene usar los radio botones en dilogos, y los de conmutacin en barras
de herramientas.
Mtodos similares a los de JCheckBox
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 ttulo, agrupndolos
en un ButtonGroup.
Clase JComboBox
Esta componente nos permite, al hacer click sobre ella, seleccionar una
opcin de entre un conjunto, todas ellas mutuamente exclusivas.
El texto de los tems ha de ir capitalizado. (en mayusculas)
Facilitar el acceso por teclado mediante etiquetas con mnemotcnicos.
Se pueden generalizar en dos tipos:
Editables
No editables
Mtodos:
setEditable(boolean);
addItem(Objeto);
getSelectedItem();
Clase JComboBox
private String[] contenidos
={"Manzana","Naranja","Platano","Tibu
ron",};
private JComboBox jComboBox1 =
new JComboBox(contenidos);
String nombre= (String)
jComboBox1.getSelectedItem();
jTextField1.setText("Esto es un " +
nombre);
jLabel2.setIcon(new
ImageIcon("imagenes/"+nombre+".
gif"));
GESTION DE EVENTOS
Todos los sistemas operativos que emplean Interfaz grfica, deben vigilar los
distintos perifricos de introduccin de datos para detectar las acciones del
usuario y transmitirlas a las diferentes aplicaciones.
En Java, Java se encarga de determinar qu evento acaba de ocurrir y sobre
que elemento.
El programador es responsable del cdigo asociado a este evento.
El elemento al origen del evento se denomina: fuente del evento
El elemento que contiene el cdigo de gestionar el evento se denomina:
escuchador de evento.
Las fuentes de eventos gestionan para cada evento que se puede activar, una
lista que les permite saber qu escuchadores deben ser avisados si ese
evento se produce.
Las fuentes y escuchadores de eventos son OBJETOS
PONER IMAGEN COMO FONDO
Partiendo de que ya tenemos nuestro formulario.
En la ventana navegador (esquina inferior derecha netbeans)
Frame->Set Layout->Absolut Layout

Si no aparece la ventana navegador (Windows->Navegador)

PONER IMAGEN COMO FONDO
PONER IMAGEN COMO FONDO
Vamos a la paleta y seleccionamos una etiqueta (label)
Borramos el texto de la etiqueta.
La situamos en la esquina superior izquierda y arrastramos hasta que coja
todo el formulario
Abrimos las propiedades de la etiqueta y

PONER IMAGEN COMO FONDO

También podría gustarte