Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming)"

Transcripción

1 Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming) ELO329: Diseño y Programación Orientados a Objetos

2 Nuevo paradigma de programación En la programación basada en eventos (o programación dirigida por eventos) el flujo del programa está determinado por eventos; por ejemplo, salidas de un sensor, eventos de usuario (mouse, teclado), mensajes desde otros programas, etc. También puede ser definida como una técnica para estructurar aplicaciones en donde la aplicación tiene un loop principal que se divide en dos secciones: Selección o detección de evento Manejo o reacción frente al evento Inicialización; Forever do { Detecte la llegada de un evento; Ejecute acción definida para ese evento; }

3 Nuevo paradigma de programación En sistemas embebidos (micro-procesadores / microcontroladores, etc) se implementa este modelo usando interrupciones en lugar de correr un loop infinito. Programas basados en eventos pueden ser escritos en cualquier lenguaje pero esta tarea se facilita en los lenguajes que proveen abstracciones de alto nivel. En Java el loop infinito lo proporciona el ambiente gráfico de Java. Nosotros sólo registramos el código a ejecutar ante un evento de interés.

4 Uso de programación de eventos en GUIs Este modelo tiene gran aplicación en la programación de interfaces gráficas de usuarios. Los programas de consolas típicos siguen un flujo secuencial en que típicamente se tienen ciclos: entrada->procesamiento->salida Cuando programamos una Interfaz Gráfica de Usuario (GUI: Graphics User Interface) debemos tomar en cuenta la variedad de posibles interacciones con el usuario. En lugar de un único flujo de entrada de datos por consola, las GUIs permiten muchas más acciones del usuario. Por ejemplo: es posible presionar botones gráficos, escribir texto en un campo de texto, o mover algún scrollbar. Cómo podemos estar atentos a tantas cosas al mismo tiempo? La GUI del programa debe responder bien a todos estos eventos.

5 Modelo Una forma de manejar todo tipo de posibles interacciones de usuarios es el uso de interrupciones. De esta manera la CPU no pierde tiempo mirando los posibles eventos de usuarios, sino simplemente responde al evento y reanuda su procesamiento normal (otras tareas). Comúnmente, lenguajes de programación no dan acceso directo a eventos asincrónicos. Lenguajes como Java nos permiten definir y manejar interrupciones o eventos por software. La API de Java permite a los programadores crear clases de objetos, llamados listeners, que responden a eventos causados por la GUI. La API de Java tiene interfaces (listeners) que deben ser implementadas por las clases que manejan los eventos posibles. Los métodos de la interfaz ( equivalen a las rutinas de servicio de interrupción ) son llamados cuando un evento específico ocurre.

6 Pasos para programar respuestas a Eventos Configuración para reaccionar ante un evento Algún Objeto new Listener() registrar(listener) Listener Componente Gráfica Método asociado (datos del evento) Se produce el evento, lo detecta el loop infinito que no vemos Los listener son instancias de un clase definida por el usuario. Esta clase implementa los métodos definidos por una Interfaz (estos métodos equivalen a las rutinas de atención de Interrupción ). Las componentes gráficas y los datos del evento son definidos por Java.

7 Ejemplo Veamos el caso de una ventana de nivel superior en Java (aquellas que se pueden mover libremente en la pantalla - desktop) CloseableFrame.java import java.awt.event.*; import javax.swing.*; class CloseableFrame extends JFrame { public CloseableFrame() { settitle("my Closeable Frame"); setsize( 300, 200); // Creamos y rgistramos el objeto que se hará // cargo de atender los eventos de la ventana MyWindowListener listener = new MyWindowListener(); addwindowlistener(listener); } } // continúa en próxima lámina

8 Ejemplo (continuación) class MyWindowListener implements WindowListener { // Do nothing methods required by interface public void windowactivated( WindowEvent e) {} OJO: una opción public void windowdeactivated( WindowEvent e) {} habría sido declarar public void windowiconified( WindowEvent e) {} esta clase como public void windowdeiconified( WindowEvent e) {} interna a Closeable. public void windowopened( WindowEvent e) {} Pudo ser anónima. public void windowclosed( WindowEvent e) {} // override windowclosing method to exit program public void windowclosing( WindowEvent e) { System.exit( 0); // normal exit } } class Main { public static void main( String[] args) { CloseableFrame f = new CloseableFrame(); f.setvisible(true); // make the frame visible } // here the program does not end, it enters the infinite loop. } // beacuse we create a graphics object, a JFrame.

9 Relación estática de clases (generada con Jprasp)

10 Diagrama de secuencia para creación de ventana Muestra la dinámica al crear una ventana. JVM inicia main Main: Main New f : CloseableFrame Objeto:Clase new listener :MyWindowListener addwindowlistener setvisible(true)

11 Explicación Objetos en la clase CloseableFrame causan que una ventana aparezca en la pantalla del usuario. La aplicación puede crear tantas ventanas como lo desee creando múltiples objetos CloseableFrame. Una instancia de MyWindowListener es registrada con addwindowlistener (es como configurar quien atenderá los eventos de la ventana). Cuando el evento ocurre, la máquina virtual Java lo detecta y verifica si hay listeners esperando por ese evento. Si los hay, automáticamente llama al método apropiado de la interfaz WindowListener según el evento ocurrido. La interfaz WindowListener es implementada por la clase MyWindowListener, así su instancia puede responder a los eventos de la ventana en la cual él fue registrado. Hay siete métodos en la Interfaz WindowListener (Ver API). Aquí sólo nos interesamos por el evento cierre de ventana. La mayoría de las otras interfaces para eventos no difieren mucho. Veremos otro ejemplo.

12 Entrada en Campo de texto Supongamos que queremos leer lo ingresado en un campo de texto y luego copiarlo en un texto de la ventana (label). Ver SimpleMimic.java

13 Diagrama de Clases de SimpleMimic Generado con Jgrasp Este diagrama puede ser completado con las clases usadas del JDK.

14 Diagrama de Clases de SimpleMimic Generado con Jgrasp, con clases del JDK

15 Diagrama de secuencia Situación: Creación de listener (manejador del evento) y su registro. mimic :SimpleMimic new Se crea listener gui :SimpleMimicGUI new addactionlistener quote :JTextField Se registra Se espera que este tipo de diagramas puedan ser hechos antes de escribir el código (alguien experimentado). La experiencia ayuda a imaginar este tipo de interacciones que luego son reflejadas en el código.

16 Diagrama de secuencia Situación (caso de uso): Usuario ingresa nuevo texto. Esto gatilla el evento esperado. Gui :ActionListener Usuario ingresa texto actionperformed La JVM lo detecta, gettext avisa a la componente Gráfica y ésta envía settext Mensaje al listener (En realidad ejecuta el método asociado) Quote :JTextField Label :JLabel Es recomendable tener bien clara esta interacción de objetos. Este diagrama sirve además como documentación. JTextField y JLabel pertenecen a la API, luego sólo hay que escribir el código para las otras tres clases.

17 Entrada en Campo de texto: versión 2 Esta versión separa roles -Panel y listener-, para este problema simple probablemente no se justifica. La idea es explorar otras situaciones posibles. Ver Mimic.java

18 Diagrama de Clases de Mimic.java

19 Diagrama de secuencia Caso de uso: Ingreso de nuevo texto. Esto gatilla el evento esperado. Usuario ingresa texto actionperformed Listener :MimicListener updatelabel Gui :MimicGUI gettext Quote :JTextField Label :JLabel settext En SimpleGui, lister y Gui eran un sólo objeto. Ambos caminos son OK.

20 Explicación del ejemplo El listener es registrado con el objeto quote de la clase JTextField en el constructor MimicGUI() al ejecutar quote.addactionlistener(listener). Cuando listener es registrado, éste es agregado a una lista interna que mantiene los objetos que deben ser notificados cuando ocurre un evento. Podemos tener más de un listener registrado por evento. Cuando el evento ocurre (por ejemplo, presionamos return en la ventana), el método listener.actionperformed(actionevent event) es llamado por el objeto JTextField, el cual se entera por la JVM. Notar que los datos sobre el evento son pasados al método vía el parámetro. El código en el método del listener maneja el evento llamando a gui.updatelabel(), el cual hace eco del contenido del campo texto en el rótulo puesto en la ventana.

21 Algunas recomendaciones No es estrictamente necesario poner la descripción de las componentes de la GUI en una clase separada, pero es buena idea. Incluso puede ser conveniente ponerlas en una archivo separado para así distinguir la presentación e interacción con el usuario del procesamiento o cálculo interno. La clase JTextField es incluso más completa. Nos permite recibir una notificación cada vez que un caracter es ingresado. Los cambios requeridos para ello se muestras en MimicCharbyChar.java

Programación basada en eventos Event- Based Programming : Conceptos. ELO329: Diseño y Programación Orientados a Objetos

Programación basada en eventos Event- Based Programming : Conceptos. ELO329: Diseño y Programación Orientados a Objetos Programación basada en eventos Event- Based Programming : Conceptos ELO329: Diseño y Programación Orientados a Objetos Nuevo paradigma de programación En la programación basada en eventos (o programación

Más detalles

Programación Conducida por eventos Event-driven programming. Agustín J. González ELO329/ELO330

Programación Conducida por eventos Event-driven programming. Agustín J. González ELO329/ELO330 Programación Conducida por eventos Event-driven programming Agustín J. González ELO329/ELO330 1 Introducción Este tema tiene su aparición en la programación de interfaces gráficas de usuarios. Los programas

Más detalles

Intefaces gráficas. Eventos. Jose Jesus García Rueda

Intefaces gráficas. Eventos. Jose Jesus García Rueda Intefaces gráficas. Eventos Jose Jesus García Rueda Planteamiento de objetivos Ser capaces de añadirle funcionalidad a los elementos gráficos de la interfaz modificándolos también como resultado de las

Más detalles

Pasos requeridos para establecer el manejo de eventos para un componente de GUI.

Pasos requeridos para establecer el manejo de eventos para un componente de GUI. Manejo de eventos con clases anidadas. Por lo general un usuario interactúa con una GUI para indicar las tareas que ésta debe realizar. Por ejemplo, al escribir un mensaje de correo electrónico, pulsamos

Más detalles

d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces.

d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces. Primer Certamen 1er. Sem 2004 Todas las preguntas tienen igual puntaje. 1. a) Usando los niveles de madurez definidos en CMM, qué nivel le corresponde a una empresa que se caracteriza por comprometer productos

Más detalles

Construir una Interfaz Gráfica

Construir una Interfaz Gráfica Construir una Interfaz Gráfica JAVA, permite al programador: -Diseñar y programar en interfaces gráficas de usuario en forma rápida y sencilla. -Cuenta con dos paquetes de clases predefinidos que brindan

Más detalles

Programación de sistemas

Programación de sistemas Programación de sistemas Interfaces Gráficas I. Conceptos básicos II. Eventos Departamento de Ingeniería Telemática José Jesús García Rueda y Carlos Alario Hoyos

Más detalles

Programación de Eventos

Programación de Eventos Programación de Eventos Un evento es un suceso que ocurre dentro del contexto de la ejecución de un programa. Por ejemplo, se presiona un botón, se modifica una caja de texto, se selecciona una opción

Más detalles

Ejemplo de GUI con Swing

Ejemplo de GUI con Swing Ejemplo de GUI con Swing Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid Una aplicación Swing sencilla El

Más detalles

Programación Java Curso C GUI

Programación Java Curso C GUI Programación Java Curso 2006-1 C GUI FIUBA Introducción: Prof.. María Feldgen Ing. Osvaldo Clúa Java 1.0 poseía un modelo de interface gráfica o GUI (Graphical User Interface) que se basaba en la plataforma

Más detalles

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON Una aplicación sin usar Formulario A continuación vamos a desarrollar una aplicación sencilla que permita calcular el área del triángulo dado los valores

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

Interfaces gráficas en Java GUIs Graphical User Interface

Interfaces gráficas en Java GUIs Graphical User Interface Diseño Y Aplicaciones de Sistemas Distribuidos Interfaces gráficas en Java GUIs Graphical User Interface Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica

Más detalles

Java es un lenguaje orientado a objetos, por lo que los objetos (las clases) son los elementos más importantes en el diseño y desarrollo de una

Java es un lenguaje orientado a objetos, por lo que los objetos (las clases) son los elementos más importantes en el diseño y desarrollo de una EVENTOS EN JAVA Java es un lenguaje orientado a objetos, por lo que los objetos (las clases) son los elementos más importantes en el diseño y desarrollo de una aplicación. También podemos afirmar que Java

Más detalles

INTERFAZ GRÁFICO DE USUARIO EVENTOS

INTERFAZ GRÁFICO DE USUARIO EVENTOS La Güeb de Joaquín Programación JAVA INTERFAZ GRÁFICO DE USUARIO EVENTOS 3 EVENTOS DE TECLADO Y DE VENTANA 3 EVENTOS DE TECLADO Y DE VENTANA 3.1 Introducción 3. Eventos de teclado 3.3 Eventos de ventana

Más detalles

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A S GUI Objetos y s Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca

Más detalles

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C)

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C) APRENDERAPROGRAMAR.COM INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha

Más detalles

1 Funcionalidades Java que se presentan en esta práctica

1 Funcionalidades Java que se presentan en esta práctica Índice 1 Funcionalidades Java que se presentan en esta práctica... 1 2 Una aplicación gráfica en Java... 1 3 El manejo de eventos en Java... 2 4 Tareas... 3 1 Funcionalidades Java que se presentan en esta

Más detalles

EVENTOS en Java generador de un evento gestor de eventos

EVENTOS en Java generador de un evento gestor de eventos Ahora ya conocemos los diferentes componentes que existen en la GUI de Java y sabemos como distribuirlos y diseñarlos pero aún no hemos hecho que interactúen con el usuario: si pulsamos sobre un botón

Más detalles

Uso de Java Swing. Noviembre de 2013

Uso de Java Swing. Noviembre de 2013 Uso de Java Swing Noviembre de 2013 Introducción Esta lección les dará la oportunidad de introducirlos al manejo de la clase Swing. Despues de explicar en que consiste Swing, veremos como compilar y correr

Más detalles

Problema 1 (2 puntos)

Problema 1 (2 puntos) Programación de Sistemas Grado en Ingeniería de Sistemas de Comunicaciones y Grado en Ingeniería Telemática Leganés, 21 de marzo de 2014 Duración de la prueba: 75 min Problema 1 (2 puntos) Examen parcial

Más detalles

Interacción con el Usuario Gestión de Eventos

Interacción con el Usuario Gestión de Eventos Interacción con el Usuario Gestión de Eventos Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA,

Más detalles

Manejo de eventos AWT

Manejo de eventos AWT Manejo de eventos AWT En las aplicaciones en modo consola, nuestro método main determina el orden en el que se ejecutan las operaciones de nuestro programa. En las aplicaciones con interfaces gráficas

Más detalles

Capítulo 3. Introducción a la programación. Continuar

Capítulo 3. Introducción a la programación. Continuar Capítulo 3 Introducción a la programación Continuar Introducción Java es un lenguaje que tiene muchas ventajas frente a otros lenguajes de programación: es open source (código abierto), esto permite ver

Más detalles

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento

Más detalles

public void mousepressed(mouseevent evento) Se llama cuando se oprime un botón del ratón, mientras el cursor del ratón está sobre un componente.

public void mousepressed(mouseevent evento) Se llama cuando se oprime un botón del ratón, mientras el cursor del ratón está sobre un componente. GUI Manejo de eventos de ratón Para manejar eventos de ratón debe implementarse los métodos de las interfaces de escucha de eventos MouseListener y MouseMotionListener. Estos eventos pueden atraparse para

Más detalles

Práctica 4. Interfaces Gráficas de Usuario Duración 1 sesión

Práctica 4. Interfaces Gráficas de Usuario Duración 1 sesión Práctica 4. Interfaces Gráficas de Usuario Duración 1 sesión Índice 1.- Programación dirigida por eventos 2.- Ejemplo. Una calculadora sencilla. 3.- Bibliografía. 1.- Programación dirigida por eventos.

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad V. Ya veremos qué poner en algunas_palabras y algo_más, por ahora sigamos un poco más. Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está

Más detalles

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:

Más detalles

Interfaces y Clases Internas

Interfaces y Clases Internas Interfaces y Clases Internas (No es interfaz gráfica, sirve como alternativa a herencia múltiple) ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas?

Más detalles

IC Programación Orientada a Objetos I. Programación de Interfaces Gráficas de Usuario (GUI) 2

IC Programación Orientada a Objetos I. Programación de Interfaces Gráficas de Usuario (GUI) 2 IC 2003-1 5033 Programación Orientada a Objetos I 10 Programación de Interfaces Gráficas de Usuario (GUI) 2 1 INTRODUCCIÓN Es difícil pensar en que una aplicación desarrollada actualmente, sea atractiva

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI Ecapsulamiento, clases asociadas Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional

Más detalles

INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C)

INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C) APRENDERAPROGRAMAR.COM INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

1. Conceptos básicos de POO 1

1. Conceptos básicos de POO 1 1. Conceptos básicos de POO 1 Es muy importante conocer bien nuestro paradigma de programación y además el lenguaje de programación, ya que hay lenguajes y paradigmas que se adaptan mejor a ciertas tareas

Más detalles

EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO

EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO La Ventana de Diseño La ventana de diseño es una gran herramienta que nos permite diseñar formularios de forma relativamente sencilla. Simplemente

Más detalles

Tema 6. Interfaces gráficas de usuario (Parte II Componentes y eventos)

Tema 6. Interfaces gráficas de usuario (Parte II Componentes y eventos) Programación en Java Tema 6. Interfaces gráficas de usuario (Parte II Componentes y eventos) Luis Rodríguez Baena Facultad de Informática Etiquetas. JLabel Componentes de texto fijo. Su contenido sólo

Más detalles

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas? NOTA: El término interfaz aquí NO se refiere a las interfaces gráficas

Más detalles

Programación de sistemas

Programación de sistemas Programación de sistemas Interfaces Gráficas I. Conceptos básicos II. Eventos Julio Villena Román MATERIALES BASADOS EN EL TRABAJO DE DIFERENTES AUTORES: José Jesús García Rueda,

Más detalles

PLANTEL 2 CIEN METROS ELISA ACUÑA ROSSETTI ACADEMIA DE TECNOLOGIA DE LA INFORMACION Y DE LA COMUNICACION

PLANTEL 2 CIEN METROS ELISA ACUÑA ROSSETTI ACADEMIA DE TECNOLOGIA DE LA INFORMACION Y DE LA COMUNICACION PLANTEL 2 CIEN METROS ELISA ACUÑA ROSSETTI ACADEMIA DE TECNOLOGIA DE LA INFORMACION Y DE LA COMUNICACION Guía de estudio para asignatura de Programación en Java Quinto semestre Contesta las siguientes

Más detalles

Interfaces Gráficas de Usuario

Interfaces Gráficas de Usuario Interfaces Gráficas de Usuario Las componentes de una GUI desarrollada en Java son objetos de una clase provista por los paquetes AWT o Swing o de una clase derivada de ellas. Cada componente está caracterizada

Más detalles

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON Una aplicación sin usar Formulario A continuación vamos a desarrollar una aplicación sencilla que permita calcular el área del triángulo dado los valores

Más detalles

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Ingeniería del Software Separación entre Presentación y Lógica del Negocio Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas

Más detalles

Desarrollo de Aplicaciones en Java INF 473

Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Interfaces Gráficas Componentes Swing Prof. José Miguel Rubio [email protected] [email protected] PUCV Marzo 2008 0 Interfaces de usuario en java

Más detalles

Presentación del Curso Presencial. Programación en Java Nivel Básico

Presentación del Curso Presencial. Programación en Java Nivel Básico Presentación del Curso Presencial Programación en Java Nivel Básico Tabla de contenido Presentación del curso... 3 Objetivos de aprendizaje... 6 Contenidos del curso... 7 Competencias previas... 9 Recursos...

Más detalles

Programación de sistemas

Programación de sistemas Programación de sistemas Interfaces Gráficas I. Conceptos básicos II. Eventos Departamento de Ingeniería Telemática José Jesús García Rueda y Carlos Alario Hoyos

Más detalles

Creemos una GUI para la siguiente tabla de la base de datos.

Creemos una GUI para la siguiente tabla de la base de datos. Consideración en el diseño de una GUI: Debe ser intuitiva Definir los modos de interacción: Flexibles y adecuados Dar opciones de interrumpir una acción, volver a ejecutar una acción Pasos repetidos: macros

Más detalles

Programación Orientada a Objetos. Componentes Gráficos

Programación Orientada a Objetos. Componentes Gráficos Programación Orientada a Objetos Componentes Gráficos César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 03/05/2016 1 Ejemplo Práctico Programa que permite incrementar

Más detalles

Patricio Olivares. 25 de abril de 2017

Patricio Olivares. 25 de abril de 2017 : : Entorno 25 de abril de 2017 Table of contents : : Entorno 1 2 3 : 4 : Entorno 5 6 La telefonía móvil ha cambiado radicalmente la forma en que nos comunicamos. Con el creciente uso de los smartphones,

Más detalles

Java Applets como ejemplo de Frameworks. Agustín J. González ELO-329

Java Applets como ejemplo de Frameworks. Agustín J. González ELO-329 Java Applets como ejemplo de Frameworks Agustín J. González ELO-329 1 Frameworks Un framework ( marco de trabajo ) es un conjunto de clases que implementan todos los servicios comunes de un cierto tipo

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 5 Construyendo la Interfaz Gráfica Marcela Hernández Hoyos Motivación Interfaz usuario Modelo del mundo Usuario Único medio de comunicación entre el usuario

Más detalles

Interfaz Gráfica de Usuario (GUI)

Interfaz Gráfica de Usuario (GUI) Interfaz Gráfica de Usuario (GUI) Unidad: 2 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Los administradores de diseño (Layouts) Características

Más detalles

Clases y herencia. FJP Unidad 8. Diseño de clases

Clases y herencia. FJP Unidad 8. Diseño de clases Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase

Más detalles

INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)

INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) APRENDERAPROGRAMAR.COM INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) Sección: Cursos Categoría: Lenguaje de programación Java nivel

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?

Más detalles

Programación Basada en Eventos

Programación Basada en Eventos Programación Basada en Eventos La construcción de una GUI utiliza un modelo de programación basado en eventos. En este modelo el orden en el cual se ejecutan las instrucciones de un programa va a quedar

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VI Interfaces Gráficas de Usuario... 9 Introducción... 10 Componentes... 13 Container... 16 Gestores

Más detalles

Lenguajes de Programación Curso Práctica 8. Interfaces gráficas de usuario y Swing. Trabajo con modelos. 1. Un ejemplo 2. 2.

Lenguajes de Programación Curso Práctica 8. Interfaces gráficas de usuario y Swing. Trabajo con modelos. 1. Un ejemplo 2. 2. Objetivos Interfaces gráficas de usuario y Swing. Trabajo con modelos. Índice 1. Un ejemplo 2 2. Tareas 7 1 Como se comentó en las clases de teoría, el tratamiento de eventos en aquellos componentes Swing

Más detalles

Desarrollo de Aplicaciones en Java INF 473

Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Interfaces Gráficas Componentes Swing II Prof. José Miguel Rubio [email protected] [email protected] PUCV Marzo 2008 0 Generación de código Diferencia

Más detalles

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar Capítulo 7 Introducción a las Interfaces Gráficas de usuario Continuar Introducción Se explicará qué es una interfaz gráfica, cómo han evolucionado y cómo es que debe desarrollarse un programa que incluya

Más detalles

Programación de Interfaces Gráficas en Java

Programación de Interfaces Gráficas en Java Programación de Interfaces Gráficas en Java Objetivo: Programar aplicaciones con interfaces gráficas usando objetos gráficos de Swing y definidos por el programador Agustín J. González ELO329 AWT y Swing

Más detalles

Agenda. Contenedores y componentes

Agenda. Contenedores y componentes Agenda Tipos de objetos y clases de la GUI Guía detallada para crear una interfaz gráfica de usuario Guía detallada para la gestión de eventos Problema 1 del boletín 5 Problema 2 del boletín 5 Contenedores

Más detalles

GUIs en Java (4) Iván Alonso

GUIs en Java (4) Iván Alonso GUIs en Java (4) Iván Alonso e-mail: [email protected] Recordatorio de sistemas de interfaces AWT - Swing - SWT AWT (Abstract Windowing Toolkit) Utiliza los componentes nativos de cada sistema

Más detalles

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel

Más detalles

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN INTRODUCCION Un arreglo es una colección de variables del mismo tipo, referidos por un nombre común. En Java, los arreglos tienen una o más dimensiones,

Más detalles

Creando archivos *.jar 2008

Creando archivos *.jar 2008 PARTE I: Extendiendo los comandos de DOS Crear el archivo.jar desde la consola de DOS Paso 1: Debemos extender los comandos del DOS a través de las variables de entorno, para ello ubicamos el jdk o jre

Más detalles

SWING. Universidad Nacional de Jujuy Analista Programador Universitario Año 2010 JTP: Jorge R. Mendoza

SWING. Universidad Nacional de Jujuy Analista Programador Universitario Año 2010 JTP: Jorge R. Mendoza SWING Universidad Nacional de Jujuy Analista Programador Universitario Año 2010 JTP: Jorge R. Mendoza Jframe y JDialog Los dos tipos de ventanas principales que tenemos en java son JFrame y JDialog. Hay

Más detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

Más detalles

Tópicos Avanzados de Programación (TAP3501)

Tópicos Avanzados de Programación (TAP3501) DuocUC Tópicos Avanzados de Programación (TAP3501) Ariel Alexis Fierro Sáez [email protected] Interfaz grafica Para el desarrollo de GUI (graphical user interface) se disponen de dos paquetes: javax.swing.*

Más detalles

1. Guía de programación con jopas

1. Guía de programación con jopas 1. Guía de programación con jopas 1.1. Qué es jopas? jopas es una API que ha sido creada por el Grupo PAS de la Universidad de Deusto. Permite al programador utilizar la potencia de cálculo del lenguaje

Más detalles

1. Cómo hacer un applet? Implementación de un Applet (awt) Ejecución de los Applets Hacer el archivo HTML con los siguientes

1. Cómo hacer un applet? Implementación de un Applet (awt) Ejecución de los Applets Hacer el archivo HTML con los siguientes 1. Cómo hacer un applet?...2 2. Implementación de un Applet (awt)...3 3. Ejecución de los Applets...5 3.1 Hacer el archivo HTML con los siguientes datos...5 3.2 Ejecución Desde línea de comandos (DOS)...5.1

Más detalles

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

Ingeniería en Desarrollo de Software 4 o semestre. Programa de la asignatura: Programación Orientada a Objetos II. Unidad 1. Eventos.

Ingeniería en Desarrollo de Software 4 o semestre. Programa de la asignatura: Programación Orientada a Objetos II. Unidad 1. Eventos. Ingeniería en Desarrollo de Software 4 o semestre Programa de la asignatura: Programación Orientada a Objetos II Clave: Ingeniería: 15142421 TSU: 16142421 Universidad Abierta y a Distancia de México 1

Más detalles

INTERFACE LIST. CLASE LINKEDLIST DEL API JAVA. EJERCICIO RESUELTO Y DIFERENCIAS ENTRE ARRAYLIST Y LINKEDLIST (CU00921C)

INTERFACE LIST. CLASE LINKEDLIST DEL API JAVA. EJERCICIO RESUELTO Y DIFERENCIAS ENTRE ARRAYLIST Y LINKEDLIST (CU00921C) APRENDERAPROGRAMAR.COM INTERFACE LIST. CLASE LINKEDLIST DEL API JAVA. EJERCICIO RESUELTO Y DIFERENCIAS ENTRE ARRAYLIST Y LINKEDLIST (CU00921C) Sección: Cursos Categoría: Lenguaje de programación Java nivel

Más detalles

Práctica 2: Java Remote Method Invocation (RMI)

Práctica 2: Java Remote Method Invocation (RMI) Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es

Más detalles

Código Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4

Código Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4 EL EJEMPLO El proceso servidor provoca un eco de la entrada de teclado enviada por el proceso cliente. Por sencillez, ejecutaremos tanto el servidor como el cliente en la máquina local. El sistema operativo

Más detalles