Soporte Java para el desarrollo de GUIs. Interfaces gráficas de usuario (2): Swing. Swing AWT. Soporte nativo para GUIs. Una aplicación Swing sencilla

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

Download "Soporte Java para el desarrollo de GUIs. Interfaces gráficas de usuario (2): Swing. Swing AWT. Soporte nativo para GUIs. Una aplicación Swing sencilla"

Transcripción

1 Soporte Java para el sarrollo GUIs Interfaces gráficas usuario (2): Swing Programación Orientada a Objetos Facultad Informática Swing AWT Swing utiliza el molo eventos basado en legación AWT (finido a partir Java 1.1) Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Soporte nativo para GUIs Facultad Informática UCM, 2004 Java Swing 2 Una aplicación Swing sencilla! El comportamiento seado para esta aplicación es:! Cuando el usuario pulsa en el botón Dí Hola, en el campo texto la aplicación ha poner 'Hola'! Cuando el usuario pulsa en el botón Dí Adios, en el campo texto la aplicación ha poner 'Adios'! Cuando el usuario cierra la, la aplicación ha terminar Una aplicación Swing sencilla! El diseño toda erfaz conlleva, a grans rasgos, los siguientes pasos:! Decidir la estructura la erfaz Qué componentes gráficos se van a utilizar, y cómo se van a relacionar estos componentes)! Decidir la disposición (layout) los componentes Existen dos tipos componentes: contenedores y componentes atómicos Los contenedores sirven para organizar los componentes contenidos en los mismos. Esta organización se nomina disposición (o layout)! Decidir el comportamiento la erfaz: gestión eventos Algunos componentes son controles: permiten reaccionar ante eventos l usuario. El comportamiento se especifica programando las respuestas a dichos eventos. Normalmente, dichas respuestas supondrán invocar funcionalidas la lógica la aplicación Conviene mantener la erfaz y la lógica lo más inpendientes posibles (veremos patrones que permiten lograr esto) Facultad Informática UCM, 2004 Java Swing 3 Facultad Informática UCM, 2004 Java Swing 4

2 Una aplicación Swing sencilla: estructura Botonera (JPanel) Hola (JButon) Loro () Panel Principal () Adios (JButon) Eco (JTextField) Facultad Informática UCM, 2004 Java Swing 5 Una aplicación Swing sencilla: estructura import importjavax.swing.*; class classloro extends extends private privatejtextfield JTextFielco; eco; Loro() settitle("loro" settitle("loro" JComponent JComponentbotonera creabotonera( creabotonera( JComponent JComponenteco eco creaeco( creaeco( Crea Crea panel panel con con botonera botonera y y eco eco Orna la panelprincipal panelprincipal redimensión y (.VERTICAL_SPLIT,botonera,eco la disposición Aña Aña el el panel panel a a la la principal principal toda la getcontentpane().add(panelprincipal jerarquía Se Se 'redimensiona' 'redimensiona' toda toda la la erfaz erfaz gráfica gráfica en en la la componentes pack( pack( en la Y hace hace visible visible la la,, con con sus sus componentes componentes setvisible(true setvisible(true Facultad Informática UCM, 2004 Java Swing 6 Una aplicación Swing sencilla: estructura Una aplicación Swing sencilla: estructura private privatejcomponent creabotonera() JPanel JPanelbotonera JPanel( Se Se crean crean los los botones botones hola ("Dí Hola" Hola" adios ("Dí Adios". y se se añan añan al al panel panel botonera.add(hola botonera.add(adios return returnbotonera; static static main(string[] args) args) Loro Loro loro loro Loro( aquí aquítermina la la ejecución l l 'hilo 'hilo principal', pero pero queda queda pendiente la la ejecución l l hilo hilo tratamiento eventos A partir partir ahora ahora toda toda la la ejecución es es gobernada por por la la eracción con con el el usuario. usuario. private privatejcomponent creaeco() Se Se crea crea el el campo campo texto texto don don poner poner el el eco eco eco eco JTextField("Pulsa un un botón" botón" return returneco; eco; Facultad Informática UCM, 2004 Java Swing 7 Facultad Informática UCM, 2004 Java Swing 8

3 Una aplicación Swing sencilla: comportamiento Una aplicación Swing sencilla: comportamiento! Los controles señalizan eventos! Diferentes tipos eventos, pendiendo los controles! La forma eventos en Swing (y en AWT, a partir JDK 1.1) es mediante un mecanismo nominado legación:! Por cada tipo evento notificado por un control, el control acepta un oyente dicho evento (métodos addxxxlistener)! Dicho oyente ha implementar una erfaz acuada (XXXListener)! Cuando se produce un evento, el control invoca un método apropiado l oyente. Es en este método don se trata el evento! Estas clases están claradas en el paquete java.awt.event import java.awt.event.*; OyenteHola actionperformed (ActionEvent ev) OyenteAdios actionperformed (ActionEvent ev) OyenteVentana windowclosing (WindowEvent ev) Escribir hola en el campo texto Escribir adios en el campo texto Terminar la ejecución Facultad Informática UCM, 2004 Java Swing 9 Facultad Informática UCM, 2004 Java Swing 10 Una aplicación Swing sencilla: comportamiento asociado a los botones Una aplicación Swing sencilla: comportamiento asociado a la principal private privatejcomponent JComponentcreaBotonera() JPanel JPanelbotonera JPanel( Panel Panel para para contener contener los los botones botones Se Se crean crean los los botones botones hola hola ("Dí ("DíHola" hola.addactionlistener( ActionListener() actionperformed(actionevent ev) ev) eco.settext("hola!" adios ("Dí ("DíAdios" adios.addactionlistener( ActionListener() actionperformed(actionevent ev) ev) eco.settext("adios!". y y se se añan añan al al panel panel botonera.add(hola botonera.add(hola botonera.add(adios botonera.add(adios return returnbotonera; Loro() settitle("loro" addwindowlistener( WindowAdapter() windowclosing(windowevent ev) ev) Se Se termina la la ejecución la la aplicación System.exit(0 Juan Pavón Mestras Facultad Informática UCM, 2004 Java Swing 11 Facultad Informática UCM, 2004 Java Swing 12

4 Funcionamiento las aplicaciones con GUI en Java Funcionamiento las aplicaciones con GUI en Java! Java es, por diseño, un lenguaje multiproceso: en un programa Java puen existir (y hecho existen) simultáneamente múltiples hilos ejecución (threads) concurrentes! Uno estos hilos es el hilo tratamiento eventos! En las aplicaciones con GUI, el hilo principal se limita a construir la estructura la GUI, a asociar los oyentes acuados con los controles y, hecho esto, termina! pero la aplicación en sí no termina, puesto que todavía queda, al menos, un hilo con vida: el tratamiento eventos! Este hilo se encarga automáticamente eventos rutinarios (p.ej. redibujar una cuando ésta pasa a primer plano, o cuando se quita una que la ocultaba parcialmente, actualizar la presentación como resultado cambios ornados por la aplicación, etc.)! y también se encarga los eventos usuario, invocando a los oyentes previamente registrados! Consecuencias l funcionamiento:! La aplicación avanza guiada por los eventos l usuario! Cuando, s el código la aplicación, se realizan cambios sobre la erfaz (p.ej. cambiar el texto una etiqueta, dibujar algo, limpiar un cuadro texto, etc.) tales cambios no son inmediatos, sino que se encolan (en estructuras ernas l framework AWT/Swing) para ser procesados por el hilo tratamiento eventos una vez que termine la ejecución l código l oyente que ha provocado los cambios La ejecución métodos que cambian la presentación componentes no be erpretarse como ejecuciones, sino como promesas ejecuciones (que se realizarán cuando sea posible)! El tratamiento los eventos be ser rápido La ejecución los oyentes se lleva a cabo en el hilo tratamiento eventos: si tal ejecución tarda mucho, o se bloquea, bloquea a dicho hilo, que no pue el resto eventos rutinarios, por lo que la aplicación en sí se bloquea, y no responrá Si un tratamiento un evento necesita mucho tiempo para ser realizado, una solución pue ser crear otro hilo que lo lleve a cabo (no es sencillo porque aparecen los problemas sincronización hilos) Facultad Informática UCM, 2004 Java Swing 13 Facultad Informática UCM, 2004 Java Swing 14! Toda aplicación Swing tiene, al menos, un contenedor raíz (una )! La clase proporciona s al uso (aunque pue haber otro tipo s)! A su vez, incluye una serie elementos: Los contenidos se añan en el panel contenidos (content pane) accesible a través l método getcontentpane (por fecto, un objeto tipo Jpane, aunque pue cambiarse con setcontentpane). La barra menú pue fijarse con setjmenubar Facultad Informática UCM, 2004 Java Swing 15 import importjava.awt.color; import importjava.awt.dimension; import importjava.awt.borrlayout; import importjava.awt.event.windowadapter; import importjava.awt.event.windowevent; import importjavax.swing.; import importjavax.swing.jlabel; import importjavax.swing.jmenubar; class classtopleveldemo static static main(string s[]) s[]) frame ("TopLevelDemo" frame.addwindowlistener( WindowAdapter() windowclosing(windowevent e) e) System.exit(0 Facultad Informática UCM, 2004 Java Swing 16

5 JLabel JLabelyellowLabel JLabel("" yellowlabel.setopaque(true yellowlabel.setbackground(color.yellow yellowlabel.setpreferredsize( Dimension(200, 180) 180) JMenuBar cyanmenubar JMenuBar( cyanmenubar.setopaque(true cyanmenubar.setbackground(color.cyan cyanmenubar.setpreferredsize( Dimension(200, 20) 20) frame.setjmenubar(cyanmenubar frame.getcontentpane().add(yellowlabel, BorrLayout.CENTER frame.pack( frame.setvisible(true Para añadir componentes a un se añan componentes a su panel contenidos Facultad Informática UCM, 2004 Java Swing 17 y : Haciendo layout fácil en Swing! El control la disposición en Swing (y en AWT) se lega en objetos especiales, nominados gestores disposición (layout managers)! En AWT vimos diversos tipos gestores disposición, que ofrecen mecanismos más o menos sofisticados para organizar los contenidos en un contenedor! Swing ofrece amás dos componentes que facilitan la realización l layout:! permite dividir una región en dos subregiones, y asignar a cada una ellas un peso terminado (que dictará la forma en cómo se repartirá el espacio extra en cada subregión cuando el contenedor crezca)! permite organizar vertical u horizontalmente componentes, así como especificar espaciado fijo entre ellos, y componentes glue (componentes invisibles que crecen cuando la caja crece, jando el resto los componentes acuadamente situados) Combinando y es posible especificar layouts complicados, sin necesidad vérselas con las complejidas más bajo nivel los layout managers Facultad Informática UCM, 2004 Java Swing 18 y : Haciendo layout fácil en Swing y : Haciendo layout fácil en Swing peso1 peso glue glue Facultad Informática UCM, 2004 Java Swing 19 Facultad Informática UCM, 2004 Java Swing 20

6 y : Haciendo layout fácil en Swing y : Haciendo layout fácil en Swing class class LayoutDemo LayoutDemo static static main(string main(string s[]) s[]) b1 b1 b2 b2 2" 2" b3 b3 3" 3" cajabotones cajabotones.createvertical(.createvertical( cajabotones.add(b1 cajabotones.add(b1 cajabotones.add(b2 cajabotones.add(b2 cajabotones.add(b3 cajabotones.add(b3 cajabotones.add(.createverticalglue() cajabotones.add(.createverticalglue() Las cajas se crean con los métodos estáticos createhorizontal y createvertical. El glue se crea con los métodos estáticos createvertical y createhorizontal. Con createhorizontalstrut y createverticalstrut pue roducirse espacios fijos entre los componentes Facultad Informática UCM, 2004 Java Swing 21 JLabel JLabel e1 e1 JLabel("Etiqueta JLabel("Etiqueta JLabel JLabel e2 e2 JLabel("Etiqueta JLabel("Etiqueta 2" 2" cajaetiquetas cajaetiquetas.createvertical(.createvertical( cajaetiquetas.add(e1 cajaetiquetas.add(e1 cajaetiquetas.add(e2 cajaetiquetas.add(e2 cajaetiquetas.add(.createverticalglue() cajaetiquetas.add(.createverticalglue() panelsecundario1 panelsecundario1 (.HORIZONTAL_SPLIT, (.HORIZONTAL_SPLIT, JPanel(), JPanel(), cajaetiquetas cajaetiquetas panelsecundario1.setdivirsize(1 panelsecundario1.setdivirsize(1 panelsecundario1.setresizeweight(1 panelsecundario1.setresizeweight(1 panelsecundario2 panelsecundario2 (.HORIZONTAL_SPLIT, (.HORIZONTAL_SPLIT, cajabotones, cajabotones, panelsecundario1 panelsecundario1 panelsecundario2.setdivirsize(1 panelsecundario2.setdivirsize(1 Facultad Informática UCM, 2004 Java Swing 22 y : Haciendo layout fácil en Swing Botones panelprincipal panelprincipal (.VERTICAL_SPLIT, (.VERTICAL_SPLIT, panelsecundario2, panelsecundario2, JPanel() JPanel() panelprincipal.setdivirsize(1 panelprincipal.setdivirsize(1 panelprincipal.setresizeweight(1 panelprincipal.setresizeweight(1 frame frame ("LayoutDemo" ("LayoutDemo" frame.addwindowlistener( frame.addwindowlistener( WindowAdapter() WindowAdapter() windowclosing(windowevent windowclosing(windowevent e) e) System.exit(0 System.exit(0 frame.setcontentpane(panelprincipal frame.setcontentpane(panelprincipal frame.pack( frame.pack( frame.setvisible(true frame.setvisible(true! Los botones, junto con los menús, son los controles más típicos en una GUI! Existen diferentes tipos (especializaciones AbstractButton)! : Botón aislado. Pue pulsarse, pero su estado no cambia! JToggleButton : Botón seleccionable. Cuando se pulsa el botón, su estado pasa a seleccionado, hasta que se pulsa nuevo (entonces se selecciona) isselected() permite chequear su estado! JCheck : Especialización JToggleButton que implementa una casilla verificación. Botón con estado erno, que cambia apariencia forma acuada según si está o no está seleccionado! JRadioButton: Especialización JToggleButton que tiene sentido ntro un mismo grupo botones (ButtonGroup) que controla que sólamente uno ellos está seleccionado Nota: ButtonGroup es únicamente un controlador, no un componente)! El evento semántico más común anunciado por los botones es ActionEvent Facultad Informática UCM, 2004 Java Swing 23 Facultad Informática UCM, 2004 Java Swing 24

7 Botones Botones caja caja.createhorizontal( caja.add( ("Un botón botón normal") caja.add( JToggleButton("Un botón botón seleccionable") caja.add( JToggleButton("Otro botón botón seleccionable",true) caja.add( JCheck("Cine") caja.add( JCheck("Teatro") caja.add( JCheck("Música") ButtonGroup grupo grupo ButtonGroup( JRadioButton r1 r1 JRadioButton("Hombre" JRadioButton r2 r2 JRadioButton("Mujer" JRadioButton r3 r3 JRadioButton("Asexuado" grupo.add(r1 grupo.add(r1 grupo.add(r2 grupo.add(r2 grupo.add(r3 grupo.add(r3 caja.add(r1 caja.add(r1 caja.add(r2 caja.add(r2 caja.add(r3 caja.add(r3 Facultad Informática UCM, 2004 Java Swing 25 Facultad Informática UCM, 2004 Java Swing 26 Menús Menús La creación una barra menús básica supone: Crear un objeto tipo JMenuBar. Para cada entrada, crear un objeto tipo JMenu. Incluir objetos tipo JMenuItem en el menú. Esto pue incluir menús anidados. Asociar a los items acciones apropiadas (notifican eventos semánticos tipo ActionEvent, ya que, en realidad, especializan a AbstractButton). Con setjmenubar es posible añadir una barra menús a una (). Importante: En una GUI, muchas veces existen controles ligados a la misma acción (eg. un botón que hace lo mismo que un item un menú). En este caso ambos controles puen compartir el mismo oyente (y es aconsejable hacerlo así). Más importante aún: El diseño una barra menús be ser consistente (poner es semánticamente relacionadas juntas). Facultad Informática UCM, 2004 Java Swing 27 Facultad Informática UCM, 2004 Java Swing 28

8 Menús Menús class class PruebaMenu PruebaMenu extends extends ejecuta() ejecuta() JMenuBar JMenuBar barra barra JMenuBar( JMenuBar( JMenu JMenu menu1 menu1 JMenu("Menú JMenu("Menú menu1.add( menu1.add( JMenuItem("Una JMenuItem("Una opción opción texto") texto") menu1.add( menu1.add( JSeparator() JSeparator() ButtonGroup ButtonGroup grupo grupo ButtonGroup( ButtonGroup( JRadioButtonMenuItem JRadioButtonMenuItem r1 r1 JRadioButtonMenuItem("Opción JRadioButtonMenuItem("Opción JRadioButtonMenuItem JRadioButtonMenuItem r2 r2 JRadioButtonMenuItem("Opción JRadioButtonMenuItem("Opción 2" 2" grupo.add(r1 grupo.add(r1 grupo.add(r2 grupo.add(r2 menu1.add(r1 menu1.add(r1 menu1.add(r2 menu1.add(r2 menu1.add( menu1.add( JSeparator() JSeparator() menu1.add( menu1.add( JCheckMenuItem("Selección JCheckMenuItem("Selección 1",true) 1",true) menu1.add( menu1.add( JCheckMenuItem("Selección JCheckMenuItem("Selección 2") 2") JMenu JMenu menu11 menu11 JMenu("Submenú" JMenu("Submenú" menu11.add( menu11.add( JMenuItem("Opción JMenuItem("Opción 1") 1") menu11.add( menu11.add( JMenuItem("Opción JMenuItem("Opción 2") 2") menu1.add(menu11 menu1.add(menu11 barra.add(menu1 barra.add(menu1 barra.add( barra.add( JMenu("Menú JMenu("Menú 2") 2") setjmenubar(barra setjmenubar(barra pack( pack( setvisible(true setvisible(true static static main(string[] main(string[] args) args) PruebaMenu().ejecuta( PruebaMenu().ejecuta( Facultad Informática UCM, 2004 Java Swing 29 Facultad Informática UCM, 2004 Java Swing 30 Interacción modal! Muchas veces surge la necesidad lanzar, esporádicamente, s secundarias para indicar algún hecho, o pedir algún dato al usuario: cuadros diálogo! La mayor parte estas eracciones suelen ser modales (es cir, la ejecución l programa se errumpe hasta que el usuario cierra el cuadro diálogo)! Swing ofrece la posibilidad crear diálogos a medida! pero (afortunadamente), también ofrece la posibilidad crear/configurar diálogos prefabricados que son útiles en muchas situaciones! Cómo funciona la eracción modal?: Swing lanza un hilo adicional para manejar dichas eracciones (y el resto los eventos rutinarios). El hilo tratamiento eventos se sincroniza (espera) la finalización dicho hilo eracción modal! Importante: Un abuso la eracción modal conduce a erfaces poco usables (en el límite, a eracciones tipo consola) Interacción modal! La clase JOptionPane ofrece un conjunto métodos estáticos que lanzan diferentes tipos diálogos (estos métodos están sobrecargados para por crear diálogos con diferentes grados fineza):! showmessagedialog : Muestra un diálogo! showconfirmdialog : Muestra un diálogo confirmación. Permite terminar la opción elegida por el usuario forma modal (yes, no, cancel)! showinputdialog: Muestra un diálogo en el que se solicita, forma modal, una entrada al usuario. Dependiendo la versión método utilizada, el usuario pue teclear la entrada, o bien seleccionarla una lista entradas disponibles! showoptiondialog: Muestra un diálogo que pue personalizarse con botones (en general, con componentes) a medida Facultad Informática UCM, 2004 Java Swing 31 Facultad Informática UCM, 2004 Java Swing 32

9 Interacción modal Interacción modal La La padre. padre. "Error "Error conocido!: conocido!: Lo Lo muy muy mal!", mal!", El El.. "Error", "Error", El El título título la la diálogo. diálogo. JOptionPane.ERROR_MESSAGE JOptionPane.ERROR_MESSAGE El El tipo tipo "Te "Te informo informo que que lo lo fatal", fatal", "Info", "Info", JOptionPane.INFORMATION_MESSAGE JOptionPane.INFORMATION_MESSAGE "Te "Te aviso aviso que que lo lo fatal", fatal", "Aviso", "Aviso", JOptionPane.WARNING_MESSAGE JOptionPane.WARNING_MESSAGE Este Este es es para para tí, tí, majete!", majete!", "Mensaje", "Mensaje", JOptionPane.PLAIN_MESSAGE JOptionPane.PLAIN_MESSAGE seleccionada seleccionada JOptionPane.showConfirmDialog(this, JOptionPane.showConfirmDialog(this, "Lo "Lo aceptas?", aceptas?", "Aviso", "Aviso", JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_OPTION, Configuración Configuración l l JOptionPane.INFORMATION_MESSAGE JOptionPane.INFORMATION_MESSAGE switch(seleccionada) switch(seleccionada) JOptionPane.YES_OPTION: JOptionPane.YES_OPTION: SI SI JOptionPane.NO_OPTION: JOptionPane.NO_OPTION:.... NO NO JOptionPane.CLOSED_OPTION: JOptionPane.CLOSED_OPTION:.... cerrada cerrada fault: fault: esta esta opción opción nunca nunca bería bería alcanzarse alcanzarse seleccionada seleccionada JOptionPane.showConfirmDialog(this, JOptionPane.showConfirmDialog(this, "Lo "Lo aceptas?","aviso", aceptas?","aviso", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE JOptionPane.WARNING_MESSAGE los los posibles posibles valores valores vueltos vueltos son son los los anteriores anteriores y y JOptionPane.CANCEL_OPTION JOptionPane.CANCEL_OPTION Facultad Informática UCM, 2004 Java Swing 33 Facultad Informática UCM, 2004 Java Swing 34 Interacción modal Interacción modal String String nombre nombre JOptionPane.showInputDialog(this, JOptionPane.showInputDialog(this, "Cómo "Cómo te te llamas, llamas, majete?", majete?", JOptionPane.QUESTION_MESSAGE JOptionPane.QUESTION_MESSAGE procesar procesar entrada entrada String[] String[] colores colores "rojo","negro","amarillo", "rojo","negro","amarillo", "azul","majenta"; "azul","majenta"; Object Object JOptionPane.showInputDialog(this, JOptionPane.showInputDialog(this, "Selecciona "Selecciona un un color, color, resalao!", resalao!", JOptionPane.QUESTION_MESSAGE, JOptionPane.QUESTION_MESSAGE, null, null, icono. icono. no no hay. hay. colores, colores, es. es. Se Se le le podría podría pasar pasar un un objetos objetos arbitrarios arbitrarios colores[0] colores[0] opción opción inicial inicial procesar procesar opción opción String[] String[] sexo sexo "hetero","homo","bi","auto"; "hetero","homo","bi","auto"; JOptionPane.showOptionDialog(this, JOptionPane.showOptionDialog(this, "Y "Y tú tú qué qué eres?", eres?", -1, -1, es->quedan es->quedan fijadas fijadas por por el el es es JOptionPane.QUESTION_MESSAGE, JOptionPane.QUESTION_MESSAGE, null,icono. null,icono. no no hay. hay. sexo, sexo, es es sexo[0] sexo[0] inicial inicial procesamiento procesamiento la la Facultad Informática UCM, 2004 Java Swing 35 Facultad Informática UCM, 2004 Java Swing 36

10 Interacción modal: selección archivos! Los diálogos tipo JFileChooser facilitan esta tarea! La forma habitual trabajar con JFileChooser es:! Crear una instancia JFileChooser.! Configurar dicha instancia forma acuada. Dicha configuración, normalmente, se limita a poner filtros sobre lo que pue seleccionarse con el selector ficheros, así como a fijar la carpeta actual (con setcurrentdirectory): Con setfileselectionmo. Con setfilefilter : Aquí be añadirse una instancia una subclase acuada FileFilter.! Mostrar un selector ficheros utilizando alguno los siguientes métodos: showdialog : Selector a medida. showopendialog : Selector para abrir un fichero. showsavedialog : Selector para salvar un fichero.! La eracción es modal: los métodos show vuelven el estado la operación. Si todo ha ido bien, el método getselectedfile vuelve un objeto tipo File, que be ser tratado forma acuada Facultad Informática UCM, 2004 Java Swing 37 Interacción modal: selección archivos! Creación y configuración un selector selector JFileChooser( selector.setfilefilter( FiltroTexto() selector.setfileselectionmo(jfilechooser.files_only selector.setcurrentdirectory( File(System.getProperty("user.dir"))! Un filtro ficheros class class FiltroTexto extends extends FileFilter boolean booleanaccept(file f) f) String String nombre nombre f.getname( return return nombre.substring(math.max(nombre.length()-4,0)).equals(".txt" String String getdescription() return return "Ficheros tipo tipotexto"; texto"; Facultad Informática UCM, 2004 Java Swing 38 Interacción modal: selección archivos! El mismo selector permite crear diferentes diálogos selección selector.showopendialog(this) Interacción modal: selección archivos Uso habitual un diálogo creado a través un FileChooser if ( selector.showopendialog(this) JFileChooser.APPROVE_OPTION ) File f selector.getselectedfile( Hacer lo que sea pertinente con el fichero selector.showsavedialog(this) Facultad Informática UCM, 2004 Java Swing 39 Facultad Informática UCM, 2004 Java Swing 40

11 Otros contenedores Swing! JPanel. Un contenedor ermedio genérico! Se utiliza para poner otros componentes! FlowLayout por fecto (los componentes se colocan uno trás otro)! JScrollPane. Un panel con barras scroll! JTabbedPane. Un panel con diferentes vistas Otros componentes atómicos Swing! JLabel. Etiquetas! JTextField. Entrada una línea texto! JTextArea. Entradas varias líneas texto! JSlir. Una barra selección en una escala! JList. Una lista elementos seleccionables! JCombo. Una lista elementos splegable! JPopupMenu. Un menú splegable! JToolBar. Una barra herramientas! Pue cambiarse situación por los bors su contenedor e incluso llevarse fuera! Las herramientas suelen ser (aunque no obligatoriamente) botones Facultad Informática UCM, 2004 Java Swing 41 Facultad Informática UCM, 2004 Java Swing 42

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 Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Tema 5: Desarrollo de interfaces gráficas de usuario Tema 5-2: Conceptos avanzados de SWING Contenidos Tema 5-2: Conceptos avanzados de SWING 1. COMPONENTES AVANZADOS 2.

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

Programación orientada a objetos. Capítulo 11 Construir interfaces gráficas de usuarios

Programación orientada a objetos. Capítulo 11 Construir interfaces gráficas de usuarios Programación orientada a objetos Capítulo 11 Construir interfaces gráficas de usuarios Interfaces gráficas de usuario (GUI: Graphical User Interface) - Componentes de las interfaces - Disposición (layout)

Más detalles

Aplicaciones de Escritorio

Aplicaciones de Escritorio Aplicaciones de Escritorio Interfaces Gráficas con Java Disertantes: Ing. Rasjido, José. AdeS Montenegro, Cristian. Agenda Interfaz Grafica de Usuario Interfaz Grafica de Usuario Aplicaciones de escritorio

Más detalles

Federico Peinado

Federico 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 detalles

Estructura de las Aplicaciones Orientadas a Objetos Interfaces gráficas de usuario

Estructura de las Aplicaciones Orientadas a Objetos Interfaces gráficas de usuario Estructura de las Aplicaciones Orientadas a Objetos Interfaces gráficas de usuario Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad

Más detalles

Interfases gráficas. Programación Orientada a Objetos. https://sites.google.com/site/materialpoo/

Interfases gráficas. Programación Orientada a Objetos. https://sites.google.com/site/materialpoo/ Interfases gráficas Programación Orientada a Objetos Componenetes Button Label Panel CheckBox Canvas ComboBox (Cuadro Combinado) Jerarquía de clases Component Container Panel Window Applet Frame Dialog

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 jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 0 Generación de código Diferencia

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

UNIDAD I.- Elementos de Interfaces Gráficas

UNIDAD I.- Elementos de Interfaces Gráficas UNIDAD I.- Elementos de Interfaces Gráficas LECCIÓN 1.4.- Componentes Swing 1.4.1.- Componentes Gráficos de Swing Los componentes gráficos de Swing se puede agrupar en: Clases básicas Contenedores de alto

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

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

Universidad de los Andes Ingeniería de Sistemas y Computación

Universidad de los Andes Ingeniería de Sistemas y Computación Universidad de los Andes Ingeniería de Sistemas y Computación ISIS1205 - Algorítmica y Programación por Objetos II 2006-1 Hoja de Trabajo sobre los menus El objetivo de este taller es aprender a utilizar

Más detalles

Componentes Swing. Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit)

Componentes Swing. Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit) Componentes Swing Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit) Component es una clase abstracta que representa a cualquier

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

Federico Peinado www.federicopeinado.es

Federico Peinado www.federicopeinado.es 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 detalles

Aplicaciones gráficas en Java Librería Swing

Aplicaciones gráficas en Java Librería Swing Aplicaciones gráficas en Java Librería Swing Sumario: Breve introducción al paquete Swing Tipos de clases del paquete Definición y manejo de contenedores, diálogos y layouts Diseño mediante IDE (Eclipse)

Más detalles

Metodología de la Programación

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 detalles

INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA. Mtra. Carolina Galaviz Inzunza

INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA. Mtra. Carolina Galaviz Inzunza INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA INTRODUCCIÓN Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario. Esa forma de interfaz de usuario es muy simple

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

Examen de Programación II (Ingeniería Informática)

Examen 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 detalles

Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario

Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario Tipos de programas en Java Programación basada en eventos Aplicaciones Se pueden ejecutar directamente en un entorno Java Tipos Modo de consola -Interacción mediante teclado -Interfaz basado en texto Aplicaciones

Más detalles

INTERFACES GRÁFICAS. Algoritmia y Programación

INTERFACES GRÁFICAS. Algoritmia y Programación Algoritmia y Programación CONTENIDO GUI s (Graphic User Interfaces) Qué son? Componentes Layouts Eventos Editor Componentes Layouts Eventos Slide 2 Qué son? Una interfaz gráfica de usuario (GUI) presenta

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

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

Diseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen

Diseñ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 detalles

Laboratorio de Redes de Comunicaciones Recursos de Sistema en Java

Laboratorio de Redes de Comunicaciones Recursos de Sistema en Java Laboratorio de Redes de Comunicaciones Recursos de Sistema en Java Properties System Runtime Swing Properties (I) Un property define atributos de forma persistente. Son adecuados cuando los valores de

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 jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 0 Interfaces de usuario en java

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

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

Java y Eclipse Desarrolle una aplicación con Java y Eclipse

Java y Eclipse Desarrolle una aplicación con Java y Eclipse Prefacio 1. Introducción 11 2. Contenido del libro 12 Entorno de desarrollo 1. Instalación del JDK de Java 8 15 2. Instalación de Eclipse Luna 17 3. Descubriendo el IDE 21 3.1 Perspectiva - Vista 22 3.2

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta Interfaces Gráficas de Usuario... 7 Pasos básicos... 9 Ejemplo de interfaz gráfica... 13 Código fuente... 14 Componentes... 18 Gestores de disposición...

Más detalles

Interfaces gráficas. Jose Jesus García Rueda

Interfaces gráficas. Jose Jesus García Rueda Interfaces gráficas Jose Jesus García Rueda Introducción Qué son las interfaces gráficas? Ejemplos bien conocidos Vamos a programar una: Colores.java Conceptos básicos Aplicación gráfica. Contenedores.

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

2.1 Elementos gráficos en Java.

2.1 Elementos gráficos en Java. Practica0 de 1. Programa Java tipo consola public class Clase0 { public static void main(string[] args) { System.out.println("Hola Mundo"); System.out.println("Estamos en clase de Interfaces de Usuario");

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

HÉCTOR ARTURO FLÓREZ FERNÁNDEZ

HÉCTOR ARTURO FLÓREZ FERNÁNDEZ HÉCTOR ARTURO FLÓREZ FERNÁNDEZ Ingeniero electrónico e ingeniero de sistemas de la Universidad El Bosque; magíster en Ciencias de la Información y las Comunicaciones de la Universidad Distrital Francisco

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

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

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

ASIGNATURA: LENGUAJE DE PROGRAMACIÓN IV

ASIGNATURA: LENGUAJE DE PROGRAMACIÓN IV ASIGNATURA: LENGUAJE DE PROGRAMACIÓN IV Cód.: 31-306 Régimen: Cuatrimestral Horas reloj semanales: 4 Horas prácticas: 36 Horas teóricas: 24 Horas totales: 60 Carrera Sistemas Año del programa: 2016 FUNDAMENTOS:

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

CONSTRUIR INTERFACES GRAFIC I AS D E USUARIO I O (GUI) I 1

CONSTRUIR INTERFACES GRAFIC I AS D E USUARIO I O (GUI) I 1 CONSTRUIR INTERFACES GRAFICAS DE USUARIO (GUI) 1 Un GUI se construye mediante componentes que se ubican en la pantalla. Los componentes se representan mediante objetos. La distribución de los componentes

Más detalles

CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO

CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO 11.1 Introducción La Interfaz de usuario, es la parte de una aplicación que está visible en la pantalla y que permite que un usuario interactúe con

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

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación LaboratorioTema: Arreglos Unidimensionales y Bidimensionales Fecha: 12 al 26 de Mayo Objetivos: 1. Comprender

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE NOMBRE DE LA UNIDAD DE APRENDIZAJE

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

Introducción a Swing. Taller de Programación 2016

Introducción a Swing. Taller de Programación 2016 Introducción a Swing Taller de Programación 2016 tprog@fing.edu.uy Introducción En qué estamos exactamente? Cómo debemos codificar? Por donde empezar? Empecemos por entender el contexto y la arquitectura

Más detalles

Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario.

Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario. INTRODUCCIÓN Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario. Esa forma de interfaz de usuario es muy simple y nos ha permitido centrarnos en la programación

Más detalles

Programació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) 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 detalles

Realizar el diseño correcto de formularios y menús, usando las características de los objetos.

Realizar el diseño correcto de formularios y menús, usando las características de los objetos. A. SILÁBO. UNIVERSIDAD CATÓLICA LOS ÁNGELES DE CHIMBOTE FACULTAD DE INGENIERIA ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS SÍLABO/PLAN DE APRENDIZAJE PROGRAMACION VISUAL I 1. Información General 1.1.

Más detalles

SILABO Herramientas de Desarrollo de Software

SILABO Herramientas de Desarrollo de Software INSTITUTO SUPERIOR TECNOLÓGICO PÚBLICO DE HUARMEY CARRERA PROFESIONAL DE COMPUTACION E INFORMÁTICA Creado con R.M. N 540-87-ED Revalidado con R.D. N 0065-2006-ED; R.D. N 0629-2006 - ED I. DATOS GENERALES

Más detalles

7.- 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 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 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

Federico Peinado

Federico 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 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

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

Programació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) 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 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

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC)

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC) Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC) Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial

Más detalles

Interfaces gráficas de usuario

Interfaces gráficas de usuario Las interfaces gráficas de usuario Interfaces gráficas de usuario Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario. Esa forma de interfaz de usuario es muy simple

Más detalles

Práctica 1: Programación orientada a objetos (el lenguaje java)

Práctica 1: Programación orientada a objetos (el lenguaje java) Práctica 1: Programación orientada a objetos (el lenguaje java) Asignatura:Ingeniería del Software-II José Merseguer Dpto. de Universidad de Zaragoza jmerse@unizar.es 7 de octubre de 2010 1. Objetivos

Más detalles

Transparencias de Java. Tema 7: AWT. Uploaded by Ingteleco

Transparencias de Java. Tema 7: AWT. Uploaded by Ingteleco Transparencias de Java Tema 7: AWT Uploaded by Ingteleco http://ingteleco.webcindario.com ingtelecoweb@hotmail.com La dirección URL puede sufrir modificaciones en el futuro. Si no funciona contacta por

Más detalles

Indice. Swing: conceptos. Generalidades. Swing & AWT: diferencias. Interfaz Gráfica de Usuario (GUI)

Indice. Swing: conceptos. Generalidades. Swing & AWT: diferencias. 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 Swing Generalidades Conceptos y caracteristicas

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. Agustín J. González ELO329

Programación de Interfaces Gráficas en Java. Agustín J. González ELO329 Programación de Interfaces Gráficas en Java Agustín J. González ELO329 AWT y Swing En sus orígenes Java introdujo la AWT (Abstract Window Toolkit). Ésta creaba los objetos delegando su creación y comportamiento

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Tema 5: Desarrollo de interfaces gráficas de usuario Tema 5-1: Conceptos básicos de SWING Contenidos Tema 5-1: Conceptos básicos de SWING 1. INTRODUCCIÓN 2. COMPONENTES

Más detalles

PROGRAMACIÓ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 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 detalles

PROGRAMACIÓN ORIENTADA POR OBJETOS EN JAVA

PROGRAMACIÓN ORIENTADA POR OBJETOS EN JAVA PROGRAMACIÓN ORIENTADA POR OBJETOS EN JAVA Introducción El paradigma de Programación Orientada a Objetos ha estado vigente desde hace muchos años en el mundo del software. A través de los años este paradigma

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

Un cuadro de diálogo es un cuadro con opciones que aparece normalmente cuando se activa una opción del menú principal del programa.

Un 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 detalles

EJERCICIO GUIADO. JAVA: BOTONES DE OPCIÓN

EJERCICIO GUIADO. JAVA: BOTONES DE OPCIÓN EJERCICIO GUIADO. JAVA: BOTONES DE OPCIÓN 1. Realiza un nuevo proyecto. 2. En la ventana principal debes añadir lo siguiente: a. Un botón Aceptar llamado btnaceptar. b. Una etiqueta con borde llamada etiresultado.

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

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

Swing. Andrés Marín López Jesús Arias Fisteus Laboratorio de Aplicaciones Telemáticas

Swing. 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 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

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

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

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

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

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

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

Tips de Componentes UI Java Swing con Netbeans

Tips de Componentes UI Java Swing con Netbeans Tips de Componentes UI Java Swing con Netbeans 1.- Conversión de tipos de datos comunes: El tipo de datos de la propiedad text de la mayoría de los componentes es un String Ejemplos para convertir a un

Más detalles

Unidad 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 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 detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 7 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 6 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad

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

Java GUI La librería Swing

Java GUI La librería Swing Java GUI La librería Swing Programación conducida por eventos En programas tradicionales (basados en texto): el programa controla el flujo de la ejecución el programa controla la secuencia de las entradas

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

Programación concurrente

Programación concurrente Programación concurrente Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Programación concurrente

Más detalles

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)

Programació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 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