Está en la página 1de 10

Interfaz grfica de usuario

Desarrolla software de aplicacin .utilizando programacin orientada.

07/10/2013 CBTIS128 2R Gabriela Staysy Prez Chvez

Introduccin

Interfaz grfica usuario


Esta forma de interfaz de usuario es muy simple y nos ha permitido centrarnos en todo aquello que tiene que ver tan solo con la programacin orientada a objetos con el lenguaje java sin tener que tratar al mismo tiempo con ventanas, botones y otros elementos similares . Las interfaces graficas de usuario (GUI) ofrece al usuario , ventanas cuadros de dialogo , barras de herramientas, botones, listas despegables y muchos otros elementos con los que ya estamos muy acostumbrados a tratar. Las aplicaciones son conducidas por eventos y se desarrollan haciendo uso de la clase que para ello nos ofrecen la API de Java. La API de Java para desarrollo de GUI La interfaz de usuario es la parte del programa que permite al usuario interaccionar con el .la API de Java proporciona una biblioteca que proporciona un conjunto de herramientas para la construccin de interfaces graficas que tienen una apariencia y se comportan de forma semejante en todas las plataformas en las que se ejecutan. La estructura bsica de la biblioteca gira entorno a componentes y contenedores. Los contenedores contienen componentes y son componentes a su vez, de forma que los eventos puedan tratarse tanto en contenedores como en componentes. La API est constituida por clases, interfaces y derivaciones AWT Y SWING. Una aplicacin Swing se construye mezclando componentes con las siguientes reglas. Debe existir, al menos, un contenedor de alto nivel (Top-Level Container), que provee el soporte que las componentes Swing necesitan para el pintado y el manejo de eventos. Otras componentes colgando del contenedor de alto nivel (stas pueden ser contenedores o componentes simples). Un ejemplo: Import javax.swing.*; Import java.awt.*; Import java.awt.event.*;

public class HolaMundoSwing { 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); }

} import javax.swing.JOptionPane; public class Addition { public static void main( String args[] ) { String firstNumber, secondNumber; int number1, number2, sum; // read in first number from user as a string firstNumber = JOptionPane.showInputDialog( "Enter first integer" ); // read in second number from user as a string

secondNumber = JOptionPane.showInputDialog( "Enter second integer" ); // convert numbers from type String to type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); sum = number1 + number2; // display the results JOptionPane.showMessageDialog( null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE ); System.exit( 0 ); // terminate the program } }

Manejo de eventos
Cuando se realiza una interaccin con el programa, se enva un evento,Es fundamental su comprensin para programar con GUI La fuente del evento o Evento (event source) El componente GUI con el cual interacta el usuario. La informacin sobre un evento esta encapsulada Se deriva de java.util.EventObject hacia java.awt.AWTEvent Por. Ejem. Teclas, movimiento click de mouse, manejo de una ventana. Diferentes fuentes de eventos producen diferentes tipos de eventos Un botn enva ActionEvent Una ventana enva WindowEvent

El objeto evento (event object) Encapsula informacin acerca del evento que ocurri. Incluye informacin que el que escucha el evento necesita para manejar el evento. Cuando ocurre un evento, lo enva a escuchadores registrados

El que escucha el evento (event listener) Implementa una interfase especial Determina la reaccin el un evento

Librerias Java para disear GUI AWT " Primera librera grca " Se usan llamadas a los sistemas de ventanas nativos (componentes pesados) " Intento de un API comn mediante el mnimo comn denominador de todos los sistemas de ventanas " Problemas: componentes escasos, aplicaciones dependientes del entorno de ventanas. Swing " Evolucin tras AWT " Se usa cdigo propio de Java que dibuja en una ventana proporcionada por el sistema de ventanas (componentes ligeros). " Mayor cantidad de componentes y uniformidad de las aplicaciones grcas en todos los entornos de ventanas Pasos para definir una GUI con Swing 1. Crear los componentes 2. Denir las propiedades de los componentes 3. Crear los contenedores que almacenan los componentes 4. Especicar los LayoutManagers para disponer los componentes en los contenedores 5. Aadir los componentes en los contenedores 6. Denir la escucha de eventos 7. Mostrar la GUI al usuario

Oyentes de eventos Los eventos los generan los componentes y los procesan objetos que implementan la interfaz EventListener. Pasos: "1. Crear los componentes "2. Crear los oyentes de los eventos que queremos tratar "3. Asociar los oyentes a los componentes "4. Cuando un evento se genera en un componente, la aplicacin llama al mtodo correspondiente del oyente asociado a ese componente Objetos de la clase Event Cuando se llama a una funcin que procesa un evento, denida en una clase que implementa el interfaz EventListener, se pasa como parmetro informacin sobre el evento producido public void actionPerformed(ActionEvent event) { // cdigo para tratar el evento } Tipos de oyentes Para cada evento con nombre xxxEvent, se dene una interfaz llamada xxxListener en la que se denen los mtodos que van a manejarse relacionados con ese evento ActionEvent -> ActionListener MouseEvent -> MouseListener

Dnde implementar la interfaz? Dado que los oyentes deben ser objetos de una clase que implemente la interfaz, surge la cuestin de qu clase debe implementar la interfaz. Tres opciones: Crear una clase que dena el componente e implemente ,el oyente, Crear una clase aparte,Crear una clase interna. Clase que define el componente y la interfaz class MiClase implements ActionListener{ public MiClase() { Button btn = new Button("Boton"); btn.addActionListener(this); } public void actionPerformed(ActionEvent e) { // Aqui va el codigo de la accion!!! } } Clase aparte class MiClase{ public MiClase() { Button btn = new Button("Boton"); btn.addActionListener(new MiOyente()); } } class MiOyente implements ActionListener{ public void actionPerformed(ActionEvent e) {

} }

Clase interna Button btn = new Button("Boton"); btn.addActionListener( new ActionListener() { public void actionPerformed(ActionEven e) { // Aqui va el codigo de la accion } }

También podría gustarte