Práctica 4. Interfaces Gráficas de Usuario Duración 1 sesión
|
|
- Juan Antonio San Segundo Blanco
- hace 7 años
- Vistas:
Transcripción
1 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. La interacción con un programa a través de una interfaz gráfica, simplifica la labor del usuario, pero complica la del programador. En su implementación podemos distinguir dos tareas fundamentales: diseño y programación. El diseño supone determinar la cantidad de componentes, su agrupación y su ubicación en el espacio, mientras que la programación supone determinar las acciones que se llevarán a cabo cuando el usuario interactúe con cada componente. El modelo utilizado hasta el momento, entrada/salida por consola, establece una línea de ejecución secuencial. El programa empieza con la primera instrucción del método main y secuencialmente se van ejecutando una tras otra sus instrucciones. Si alguna es de salida, por ejemplo System.out.println ( hola ), el programa muestra en la consola el texto hola. Si se trata de una instrucción de entrada el programa espera hasta que el usuario haya introducido el dato demandado, y una vez introducido el programa sigue su ejecución. El modelo de entrada/salida orientado a interfaz gráfica modifica ligeramente la idea de secuencialidad. Cuando ejecutamos un programa en modo gráfico (todos somos usuarios de aplicaciones con interfaz gráfica), el programa no esta esperando a que introduzcamos un número o una frase, sino que gran cantidad de posibilidades se nos brindan, una por cada componente de la interfaz. Consecuentemente a priori el programa no sabe que acción va realizar el usuario. Por lo tanto, se tiene que programar cada una de las acciones sin asumir a priori ninguna ordenación temporal de las acciones. Para entender los conceptos subyacentes al diseño y programación de interfaces gráficas veamos un ejemplo sencillo. Supongamos un programa que presenta una interfaz gráfica con dos botones y un campo de texto ( área para introducir y visualizar texto). De forma que si el usuario pulsa el botón etiquetado con el número uno, en el campo de texto aparece la frase hola, y si pulsa el botón etiquetado con el número dos, en el campo de texto aparece la palabra adiós. En Java dicha interfaz tendría el siguiente aspecto:
2 Ahora vamos a analizar cada uno de los elementos que vemos en la interfaz así como las acciones asociadas. El marco principal La interfaz del programa esta delimitada por un marco o ventana, que en su parte superior izquierda viene etiquetada con el texto saludos, y en su parte superior derecha por los habituales botones de minimizar, maximizar y cerrar. En Java existe una clase denominada Frame de la librería java.awt, que representa un marco en su forma básica. En la librería java.awt, se encuentran la mayoría de las componentes de interfaz. Un marco es un contenedor de componentes que a su vez puede contener otros contenedores. En nuestro ejemplo, todas las componentes de la interfaz, están dentro de un marco. Un esqueleto de una clase que representa un marco principal de aplicación es: class Igu extends Frame // Los atributos pueden ser componentes de la interfaz como //botones y campos de texto // En el constructor podemos tener un parámetro que sea el //título que le queremos dar al marco, dicho parámetro se lo //pasaremos al constructor Igu (String nombre) super(nombre); // a continuación se definen y añaden las componentes de la //interfaz Hay que tener en cuenta que la componente Frame, tiene programados los botones de minimización y maximización pero no el de cierre (su programación la veremos en el ejemplo del apartado siguiente). Las componentes del marco Siguiendo con el ejemplo, dentro del marco principal tenemos dos botones y un campo de texto. Al igual que ocurre con los marcos, existen clases predefinidas en Java que representan la forma básica de una componente. En general para cada componente de interfaz que estáis acostumbrados a utilizar existe una clase predefinida en Java. La clase Button representa los botones y la clase TextField los campos de texto, ambas de la librería java.awt. Cuando se necesite tener un botón o campo de texto muy personalizado se puede diseñar una clase que extienda de Button o TextField. El código para definir uno de los botones del ejemplo es: Button hola= new Button( 1 ); donde el 1 indica el texto que aparecerá dentro del botón. Un vez creada una componente se puede modificar su apariencia utilizando los métodos apropiados. Para poder visualizar una componente tendremos que añadirla a un contenedor, por ejemplo a un marco, y luego hacer visible el contenedor. Para añadir una componente a un contenedor hay que invocar el método add del contenedor. Por ejemplo: add (hola);
3 que añade el botón hola al marco. El código en Java para diseñar la interfaz del ejemplo es: import java.awt.*; class Igu extends Frame // Los atributos Button hola, adios; TextField campo_texto; Igu (String nombre) super(nombre); hola= new Button( 1 ); adios= new Button( 2 ); campo_texto= new TextField(12); add(hola); add(adios); add(campo_texto); class Principal // Los atributos static void main (String []args) Igu interfaz=new Igu( Saludos ); // colocamos el tamaño inicial de la ventana interfaz.setsize(500,500); // y la visualizamos interfaz.setvisible(true); La clase Principal se usa para lanzar a ejecución la interfaz gráfica. Crea un objeto de la clase Igu, establece su tamaño inicial y lo visualiza. Ubicación de las componentes en el marco Hasta el momento hemos visto como añadir componentes a la ventana o marco principal, pero hemos pasado por alto su ubicación dentro del espacio. Esto es, cada vez que ejecutamos el método add del marco dónde se coloca la componente?. En Java esto se resuelve asociando un diseñador del espacio al marco. Existen clases predefinidas que hacen la función de diseñadores, el más sencillo de todos, es el FlowLayout que coloca las componentes de izquierda a derecha y de arriba abajo según el orden de ejecución del método add. El siguiente código añade un diseñador a un contenedor: FlowLayout diseñador= new FlowLayout(); setlayout(diseñador); Este código se tiene que poner antes de las instrucciones add del contendor. De momento sólo nos hemos centrado en la parte visual de la interfaz no en la programación de las componentes. De manera que si implementamos y ejecutamos el código descrito, la interfaz no responde a casi nada. Dispositivos físicos de interacción con la interfaz y eventos Cuando el usuario utiliza el ratón, el teclado o cualquier otros dispositivo físico para interaccionar con las componentes de una interfaz gráfica, la máquina virtual (en ejecución) produce un evento que representa dicha interacción, o en términos Java se crea un objeto de la clase AWTEvent en la librería java.awt.event. Por ejemplo, si el
4 usuario presiona un botón, el evento es de la clase ActionEvent, subclase de AWTEvent; si el usuario cierra un marco, el evento es de la clase WindowEvent; si el usuario toca el botón del ratón, el evento es de la clase MouseEvent; etc. Además del tipo de interacción, un objeto evento almacena datos como la posición de pantalla donde se produjo (para consultarla, getx() y gety()), y la componente de la interfaz involucrada o fuente del evento (para consultarla, getsource()). Tratamiento de los eventos Cuando se produce una interacción pero no se ha programado nada para tratarla, simplemente se ignora. Es más, para que se llegue a crear un objeto evento la máquina virtual tiene que tener registrado un responsable de su tratamiento, i.e. una clase oyente. Para que una clase oyente tenga la capacidad de efectivamente tratar un tipo de evento dado, por ejemplo un ActionEvent, tiene que implementar la interfaz de escucha de dicho tipo de evento, por ejemplo ActionListener para eventos ActionEvent. Así, la clase oyente deberá implementar los distintos métodos del interfaz de escucha, por ejemplo implementará actionperformed que es él único método del interfaz ActionListener indicando qué tratamiento se da a cada evento ActionEvent en función de su fuente. Siguiendo con el ejemplo, la clase Oyente responsable del botón hola es: class Oyente implements ActionListener // clase oyente de eventos de botón public void actionperformed(actionevent e) String res = hola ; campo_texto.settext(res); Para que la clase Oyente pueda acceder al botón hola y al campo de texto campo_texto, se declara como clase interna de la clase Igu. Pese a que el concepto de clase interna no ha sido desarrollado en clase de teoría es fácil entender que su visibilidad esta restringido a la clase que la contiene y en este caso a la propia máquina virtual. De forma alternativa se podría otorgar funcionalidad de oyente a la propia clase Igu, si ésta implementara la interfaz ActionListener. En el apartado siguiente se presenta una solución que hace uso de esta estrategia. Una vez definida la clase Oyente, el código para añadirlo al marco es: Oyente oy=new Oyente(); hola.addactionlistener(oy); De forma similar al botón hola, se realiza la programación del botón adiós. Como hemos comentado anteriormente, los botones de minimizar y maximizar del marco ya están programados. Sin embargo, el botón de cierre del marco no. Pese a que también se trata de un botón, su programación es un poco diferente al del resto de botones, puesto que el evento que se genera cuando se interactúa con él es WindowEvent. Para que una clase sea oyente de estos eventos tiene que implementar la interfaz WindowListener, que define 7 métodos. Como únicamente estamos interesados en programar el botón de cierre y el método que se ejecuta cuando se pulsa es windowclosing, sólo escribiremos código para ese método. Del resto de métodos sólo pondremos su cabecera. Para evitar esto último, la API de Java tiene unas clases denominadas adaptadores, que implementan las interfaces oyentes, dejando el cuerpo de los métodos vacíos. De
5 manera que si una clase oyente la hereda no necesita poner la cabecera de los métodos que no quiere programar. En el ejemplo, el oyente del cierre del marco es: class Oyente_marco extends WindowAdapter implements WindowListener / public void windowclosing(windowevent e) dispose(); System.exit(0); Y el código para añadirlo el oyente de marco al marco es: Oyente_marco oy1=new Oyente_marco(); this.addwindowlistener(oy1); 2.- Ejemplo. Una calculadora sencilla. Visualmente nuestra calculadora en su versión más básica tendrá el siguiente aspecto: Primera solución La primera solución del ejercicio se fundamenta en las siguientes directrices: La lógica del programa esta fusionada con la programación de eventos Una única clase Oyente interna que atienda los eventos de los dos botones. El diseñador del marco es el FlowLayout. No se realiza ningún tratamiento de errores debidos a la inserción de datos no numéricos. import java.awt.*; import java.awt.event.*; /** * La clase calculadora representa una calculadora básica. public class Calculadora extends Frame // Label eti1,eti2,eti3; TextField t1,t2,t3; Button b1,b2; public Calculadora(String nombre) super(nombre);
6 // el gestionador de diseño es el BorderLayout setlayout(new FlowLayout()); // Añadimos las componentes propias de la interfaz eti1=new Label("primer elemento"); eti2=new Label("segundo elemento"); eti3=new Label("resultado"); t1=new TextField(12); t2=new TextField(12); t3=new TextField(12); b1= new Button("+"); b2= new Button("*"); Oyente oy=new Oyente(); add(eti1);add(t1); add(eti2);add(t2); add(eti3); add(t3); add(b1); b1.addactionlistener(oy); add(b2); b2.addactionlistener(oy); Oyente_marco oy1=new Oyente_marco(); this.addwindowlistener(oy1); } class Oyente implements ActionListener // clase oyente de evetos de raton public void actionperformed(actionevent e) String n1,n2,res; double num1, num2,result; n1=t1.gettext(); num1=double.parsedouble(n1); n2=t2.gettext(); num2=double.parsedouble(n2); if (e.getsource()==b1) result=num1+num2; else result=num1*num2; res=double.tostring(result); t3.settext(res); } } class Oyente_marco extends WindowAdapter implements WindowListener } public void windowclosing(windowevent e) dispose(); System.exit(0); Segunda solución La segunda solución del ejercicio se fundamenta en :
7 la lógica del programa se separa de la programación de eventos. De forma que aparece una nueva clase Calculo sobre la que se realizan las operaciones aritméticas. La clase Igu asume el papel de oyente único para los dos botones. No se realiza ningún tratamiento de errores debidos a la inserción de datos no numéricos. Por lo tanto aparecerá un clase Calculo que suma y multiplica los valores que se le pasan como argumentos. public class Calculo public static double suma(double x, double y) return x + y;} public static double producto(double x, double y) return x * y; En la cabecera de la clase Igu tendremos que indicar que se va a implementar la interfaz ActionListener. La clase interna Oyente desaparece y el método actionperformed se reescribe de la siguiente forma: public void actionperformed(actionevent e) String n1,n2,res; double num1, num2,result; n1=t1.gettext(); num1=double.parsedouble(n1); n2=t2.gettext(); num2=double.parsedouble(n2); if (e.getsource()==b1) result=calculo.sumar(num1,num2); else result=calculo.producto(num1,num2); res=double.tostring(result); t3.settext(res);} Pese a que la modificación parece muy leve en el contexto del problema, la aplicación sistemática del criterio de separar la lógica del programa de la programación de la interfaz, dará como resultado programas más claros, modulares y acordes con los principios de programación orientada a objetos. Tercera solución La tercera solución del ejercicio asume las directrices de la solución anterior y realiza el tratamiento de errores debidos a la inserción de datos no numéricos. Su aspecto será el siguiente:
8 Como se observa en al imagen, se ha añadido una nueva componente para la visualización de los mensajes de error (provocados por la inserción incorrecta de datos). Además de algunos detalles que vienen comentados directamente en el código, el concepto más importante que presenta es la agrupación de componentes, a través del contenedor de componentes Panel, de manera que el diseño del marco se divide en el panel Norte (pnorte) y el panel Sur (psur). En cada panel se añaden las componentes y luego el panel se añade al marco. El diseñador que se ha utilizado es el BorderLayout, que divide el espacio en 5 zonas: norte, sur, este y oeste. El código de esta solución está en :/labos/asignaturas/ei/eda/practica Bibliografía. Weiss. Estructuras de datos en Java. Apéndice D. Ed Addison-Wesley.
Metodología de la Programación
Metodología de la Programación Aplicaciones gráficas F. J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Metodología de la Programación - Tema 7 p. 1/28
Más detallesPasos 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 detallesI. 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 detallesINTERFAZ 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 detallesProgramació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 detallesIntefaces 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 detallesJava 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 detallesProgramació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 detallesProgramació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 detallesFederico Peinado
Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es
Más detallesProgramació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 detallesProblema 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 detallesEjemplo 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 detallesE1. Práctica UF2406: El ciclo de vida del desarrollo de aplicaciones
E1. Práctica UF2406: El ciclo de vida del desarrollo de aplicaciones CALCULADORA Se trata de implementar una aplicación que ofrezca el interfaz y el comportamiento de una calculadora sencilla. El interfaz
Más detallesAgenda. 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 detallesConstruir 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 detallesPROGRAMACIÓN II INTERFACES GRÁFICAS DE USUARIO. Otoño de 2017 BUAP-FCC DR. MARIO ROSSAINZ LÓPEZ
PROGRAMACIÓN II INTERFACES GRÁFICAS DE USUARIO Otoño de 2017 BUAP-FCC DR. MARIO ROSSAINZ LÓPEZ Definición: Una interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user interface),
Más detallesEstructuras 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 detallesLenguajes de Programación Curso Práctica 7.
Objetivos Desarrollar una interfaz gráfica de usuario. Trabajar con clases de AWT. Trabajar con diferentes gestores de organización. Realizar clases para el tratamiento de eventos. Índice. Aplicación de
Más detallesINF 473 Desarrollo de Aplicaciones en Java
INF 473 Desarrollo de Aplicaciones en Java Desarrollo de Interfaces Gráficas AWT Abstract Windows Toolkit Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 AWT Qué es? Su
Más detallesInteracció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 detallesProgramació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 detallesDiseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen
Primer Certamen Primera parte, sin apuntes (30 minutos; 1/3 de la nota): 1.- Responda brevemente y entregue en hoja con su nombre. a. Al redefinir un método en una subclase, es posible retornar un objeto
Más detallesInterfaz 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 detallesProgramació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 detalles1 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 detallesLenguajes 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 detallesPráctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones
Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Más detallesIngenierí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 detallesIntroducción. Curso de Middleware. Práctica 1. 1 de 14
Introducción Nuestro objetivo a la hora de crear estas prácticas es ver cómo usar los servicios y mecanismos que nos ofrece un Middleware mediante una sucesión de ejemplos, quizás algo sencillos al principio
Más detalles1. Parte 1: Entrada / Salida
Objetivos Entrada/Salida. Serialización de objetos. Índice 1. Parte 1: Entrada / Salida 1 2. Parte 2: Serialización de objetos 5 1. Parte 1: Entrada / Salida Se pide realizar una serie de clases para una
Más detallesPARTE TEÓRICA - TEST [2,5 PUNTOS]:
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA 71901072 PROGRAMACIÓN ORIENTADA A OBJETOS (GRADO EN INGENIERÍA INFORMÁTICA / TECNOLOGÍAS DE LA INFORMACIÓN)
Más detallesInterfaces 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 detalles18. Interfaces Declaración de una interfaz
Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir
Más detallesProgramación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming)
Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming) ELO329: Diseño y Programación Orientados a Objetos Nuevo paradigma de programación En la programación
Más detallesJava interface y extensibilidad
En Java el uso de interfaces es algo común en la programación del día a día. Sin embargo también es bastante común tener muchas dudas de para que sirve un interface. Normalmente nos podemos encontrar con
Más detallesDesarrollo de Aplicaciones en Java INF 473
Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Interfaces Gráficas Componentes Swing Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 0 Interfaces de usuario en java
Más detallesEn este método la implementación de la interface de usuario donde se produce el evento y la implementación del oyente están en clases separadas.
Unidad 8 Manejo de Eventos Un evento es un objeto que representa un cambio en un componente, este es generalmente producido por el usuario al realizar alguna operación, por ejemplo, escribir en un campo
Más detallesIndice. CardLayout. Administradores de diseño avanzados. CardLayout: pasos. CardLayout: métodos. Interfaz Gráfica de Usuario (GUI)
Indice Interfaz Gráfica de Usuario (GUI) Unidad: 2 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Administradores de diseño avanzados CardLayout
Más detallesFACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4
Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..
Más detallesEjercicio 1 (proyecto prlistas, paquete listas)
PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.
Más detallesEVENTOS 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 detallesUNIDAD I.- Elementos de Interfaces Gráficas
UNIDAD I.- Elementos de Interfaces Gráficas LECCIÓN 1.2.- Librerías de Interfaz Gráfica 1.2.1.- Librerías gráficas de Java En java existen varios paquetes para manejo de la interfaz gráfica: AWT (Abstract
Más detallesPráctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Más detallesUnidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
Más detallesProgramación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming)
Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming) ELO329: Diseño y Programación Orientados a Objetos Introducción Hasta ahora nuestros programas
Más detallesEJERCICIO 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 detallesParte 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 detallesIII. Desarrollo de aplicaciones con manejo de datos en la memoria Reuven Feuerstein Javier Navarro
III. Desarrollo de aplicaciones con manejo de datos en la memoria Reuven Feuerstein Javier Navarro Que es un arreglo? Un arreglo es un tipo de dato estructurado que permite guardar colecciones de elementos
Más detallesCapí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 detallesManejo 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 detallesEJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE COMPARABLE Y MÉTODO COMPARETO DE JAVA. COMPARAR OBJETOS (CU00913C)
APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE COMPARABLE Y MÉTODO COMPARETO DE JAVA. COMPARAR OBJETOS (CU00913C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Más detallesIntroducció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 detallesUnidad 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 detallesProgramació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 detallesTema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011
Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas
Más detalles1. 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 detallesJAVA 6. Gestión de Eventos
JAVA 6. Gestión de Eventos import java.awt.event.* http://giig.ugr.es/ mgea/docencia/diu/diu.html Ultima actualización: 2/Nov/2004 1 1. Modelo de gestión de eventos Acción Usuario java.util.eventobject
Más detallesExamen Teórico. Convocatoria de Febrero de 2018
Examen Teórico Convocatoria de Febrero de 2018 Nombre: DNI: Grupo: 1. Dado un proyecto Java en Eclipse que tiene como clase principal proyecto.programa y requiere de la librería matemática de Apache commons-math.jar,
Más detallesTECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE
MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:
Más detallesPatrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos
Más detallesPROGRAMACIÓ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 detallesIC 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 detallesUnidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.
Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo
Más detallesExamen de Programación II (Ingeniería Informática)
Examen de Programación II (Ingeniería Informática) Junio 2008 1) Lenguaje C 1.a) (1 punto) Escribir una función C que reciba dos strings como parámetros y retorne un nuevo string formado por los caracteres
Más detallesFederico Peinado
Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es
Más detalles7.- ANEXOS. Anexo 1.-Diagramas uml LISTADO DE CLASES EN UML. Clase P1. Clase FrameAWT
7.- ANEXOS. Anexo 1.-Diagramas uml LISTADO DE CLASES EN UML. Clase P1 Clase FrameAWT 76 Clase Constantes ClasePanelCentral Clase Mimenubar Clase Mimenu 77 Clase JButFuente Clase JButCola Clase JButServidor
Más detalles2. Tratamiento de objetos con JAVA
2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesProgramación Java Curso 2006-1 C Draw
Programación Java Curso 2006-1 C Draw FIUBA Introducción: Prof.. María Feldgen Ing. Osvaldo Clúa En Java, para dibujar se usa el contexto gráfico de un componente. Según las plataformas, este contexto
Más detalles2ª Parte: Problemas (5 puntos sobre 10)
NOMBRE: APELLIDOS: NIA: GRUPO: 2ª Parte: Problemas (5 puntos sobre 10) Duración: 1 hora 45 minutos Puntuación máxima: 5 puntos Fecha: 17 de Junio de 2013 PROBLEMA 1 (3 puntos) El sistema de gestión de
Más detallesClases abstractas e interfaces en Java
Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura
Más detallesExamen de Programación II (Ingeniería Informática)
Examen de Programación II (Ingeniería Informática) Septiembre 2010 1) Lenguaje C (2 puntos) Escribir el módulo "elimina_substring" (ficheros elimina_substring.h y elimina_substring.c) que defina una única
Más detallesINGRESAR 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! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java
Introducción a la programación orientada a objetos Curso de Programación en Java! Fundamentos de la POO! Comportamiento y estado! Clases y objetos en Java Contenidos Luis Guerra l.guerra@upm.es Enero 2012
Más detallesUnidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos
Unidad Didáctica 1 Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Más detallesLenguajes de Programación Curso Práctica 3. Crear y utilizar paquetes. Crear una jerarquía de clases.
Objetivos Crear y utilizar paquetes. Crear una jerarquía de clases. Índice 1. Paquetes 1 1.1. Nombres de los paquetes................................... 2 1.2. Declaración de un paquete..................................
Más detallesTema 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 detallesBENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN
BENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN PROGRAMACION CONCURRENTE PARALELA Y PRACTICA 3 (PARTE 1 Y 2) HILOS POSIX NOMBRE:
Más detallesSincronización de Threads
Sincronización de Threads Herramientas y Lenguajes de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática Dpto.
Más detalles2. Indica cuál de las siguientes afirmaciones es cierta:
Nombre:. Indica cuál de las siguientes afirmaciones es cierta: El diseño de un programa procedural está guiado por la división en tareas a realizar, mientras que el diseño orientado a objetos está dirigido
Más detallesUnidad 2. Elementos Intermedios del Lenguaje
Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación Imperativo Declarativo Funcional
Más detallesInterfaces 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 detallesConcurso: Cuánto sabes de JAVA?
Concurso: Cuánto sabes de JAVA? Motivación: o Para cambiar el ritmo de las jornadas y que no todas las actividades sean charlas o Recordar conocimientos y aprender algo nuevo. o Las preguntas pueden ayudarnos
Más detallesDerechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
Más detallesINICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ Tema 3 Clases y Objetos Tema 4 Comunicación entre objetos. Algoritmos Tema 5 Herencia y abstracción de datos Tema 6 Diseño de clases TEMA 5: Herencia
Más detallesREPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)
APRENDERAPROGRAMAR.COM REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha revisión: 2039 Resumen:
Más detallesIntroducción a Java. Fernando Cerezal López. 24 Noviembre 2005
24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos
Más detallesHerencia. Implementación en Java
Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente
Más detallesPráctica 2. Búsqueda I
Práctica 2 Búsqueda I En esta práctica vamos a ver algunos algoritmos de búsqueda en grafos. Para ello vamos a utilizar una aplicación que nos permite programar diferentes problemas que pueden solucionarse
Más detallesHerramientas Visuales de Programación
Pág. 1 19/09/2012 Para la compilación y ejecución del código que serealizaráalolargo de este curso vamos a utilizar el entorno de programación de la Herramienta Eclipse de libre distribución. (http://www.eclipse.org/).
Más detallespublic 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 detallesSwing. Andrés Marín López Jesús Arias Fisteus Laboratorio de Aplicaciones Telemáticas
Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Swing Andrés Marín López Jesús Arias Fisteus Laboratorio de Aplicaciones Telemáticas 2 Índice Introducción a Swing Componentes Layouts
Más detallesUn cuadro de diálogo es un cuadro con opciones que aparece normalmente cuando se activa una opción del menú principal del programa.
EJERCICIO GUIADO. JAVA: DIÁLOGOS Cuadros de Diálogo Un cuadro de diálogo es un cuadro con opciones que aparece normalmente cuando se activa una opción del menú principal del programa. Los cuadros de diálogo
Más detallesProgramación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)
Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica
Más detallesEstructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa
Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,
Más detalles