Interfaces gráficas I



Documentos relacionados
Práctica 4: Java Remote Method Invocation (RMI)

Tutorial básico del entorno de desarrollo Eclipse.

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1)

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

Ejercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE

INTRODUCCIÓN.

Interfaces gráficas. Jose Jesus García Rueda

INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

El lenguaje de programación Java

Programación Avanzada Ingeniería Civil en Computación

Universidad ORT - Arquitectura de Software. Requisitos

Pruebas de unidad con JUnit

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

Introducción a la Programación Orientada a Objetos

Benemérita Universidad Autónoma del Estado de Puebla

1. El entorno de desarrollo Eclipse

Taller: Introducción a Windows Communication Foundation

Uso de Java Swing. Noviembre de 2013

RMI [Remote Method Invocation]

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

1.- Creamos un proyecto al que llamaremos MusicaMovil.

Ejercicio 16. Mejora de Notificaciones en Android. Android Con Java. Ejercicio 16. Mejora de Notificaciones en Android. Curso de Android con Java

2) Cual modificador limita el acceso a un método de una clase pública a los miembros de la misma clase?

Multitarea en Java. Rafa Caballero - UCM

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Interfaces gráficas en Java GUIs Graphical User Interface

Curso Informática Lección 2. Introducción a la programación en Java

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

RUEDA TORRES DULCE CAROLINA 3CM2 JAX-WS WEB SERVICES WEB APPLICATION DEVELOPMENT

Sistemas Distribuidos Java RMI (Remote Method Invocation) Alberto Lafuente Mikel Larrea Dpto. ATC, UPV/EHU

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)

Patrón Fábrica Abstracta. Julio Ariel Hurtado Alegría Ingeniería de Software II 2015

Programación orientada a objetos

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

Programación Java Curso C Draw

MONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar

Manejo de eventos AWT

2.2.- Paradigmas de la POO

JAVA NATIVE INTERFACE (JNI) INVOCANDO C/C++ DESDE JAVA

Tema 14: Excepciones

Programación en Java. Programación en OO

Java. Mtro. Manuel Suárez Gutiérrez

Java: Clases Abstractas e Interfaces

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Universidad Carlos III de Madrid Departamento de Ingeniería Telemática. Swing

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

TEMA 5: Control de la Concurrencia en Java (API Estándar)

Benemérita Universidad Autónoma del Estado de Puebla

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

Interfaces gráficas de usuario

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

1. Visión general de RMI

PROGRAMACIÓN WEB I SEMANA 7 ESTE DOCUMENTO CONTIENE LA SEMANA 7

PROYECTO FIGURAS DIAGRAMA DE FLUJO

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

LABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

Requisitos. Universidad ORT Arquitectura de Software

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Diplomado Programming Java (JSE & JEE) with Oracle 10g

UNIDAD I.- Elementos de Interfaces Gráficas

Modelo de Objetos Distribuidos

Java RMI Remote Method Invocation. Invocación Remota de Métodos en Java

Creación de Applets Simples

INSTITUTO TECNOLÓGICO DE MORELIA PROGRAMACIÓN II

1. Creación del repositorio

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE

Programación Orientada a Objetos con Java

Programación Orientada a Eventos

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa

Capitulo 4: Componentes Android

J2SE , Grupo Salenda, S.L.

Java en 2 horas. Rodrigo Santamaría

Julio C. Sandria Reynoso

1. El entorno de desarrollo Eclipse

Práctica 5: Common Object Request Broker Architecture CORBA

Introducción a JAX-WS Web Services

Testing. Contenidos. Proyectos de tests. Curso 13/14

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Soluciones Ejercicios Tema 3

Curso 13/14. Desarrollo de aplicaciones Android. Testing

Metodología y Tecnología de la Programación

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

Tema 2: Diseño de servicios para móviles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

9. Objetos y clases Clases

Introduciendo datos desde el

Framework 2 Manual de usuario del Servicio de envío de SMS

EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN.

Transcripción:

Interfaces gráficas I - Introducción - 75.07-95.02 Algoritmos y programación III Pablo Rodríguez Massuh

Temario A qué llamamos vista? Distintos tipos de vistas Qué es JavaFx? Conceptos de JavaFX Controles básicos en JavaFX Eventos y Clases anónimas Eventos y Expresión Lambda Eventos y Clases custom Ejemplo Integrador

Qué es una vista? Se conoce por vista a la colección de clases que representan los elementos de la interfaz de usuario. Es decir todas las cosas que el usuario puede ver y/o responder en la pantalla, como pueden ser botones, cajas de texto, etiquetas, etc.

Tipo de vista I Por consola

Tipo de vista II Por ventanas

Tipo de vista III Por dispositivo móvil

Qué es Java FX? JavaFX es un conjunto de gráficos y librerías multimedia que permite a los desarrolladores diseñar, crear, probar, depurar y desplegar aplicaciones que operan constantemente a través de diversas plataformas. Es el reemplazo que Oracle ofrece a la ya deprecada librería gráfica swing.

JavaFx conceptos I Application import javafx.application.application; public class Main extends Application { public static void main(string[] args) { launch(args); JavaFX nos impone como condición heredar de la clase Application. En nuestro main necesitamos también llamar al método launch (ubicado en Application) en el cual se realizan las inicializaciones necesarias para una aplicación JavaFX.

JavaFx conceptos II Stage import javafx.application.application; import javafx.stage.stage; public class Main extends Application { public static void main(string[] args) { launch(args); @Override public void start(stage stage) throws Exception { stage.settitle("mi primera ventana"); stage.show();

JavaFx conceptos II Stage

JavaFx conceptos III Layout & Scene @Override public void start(stage stage) throws Exception { stage.settitle("mi primera ventana"); StackPane layout = new StackPane(); Scene scene = new Scene(layout); stage.setscene(scene); stage.show();

JavaFx conceptos IV Diferencias entra Stage, Layout & Scene Stage: Ventana con el marco para arrastrarla, su título y botones de minimizar, maximizar y cerrar. Layout: Indica la disposición (forma, manera) en que serán ubicados los elementos. Scene: Anteriormente conocido como canvas es el contenedor en el cual se colocan los elementos visuales.

JavaFx controles I Button

JavaFx controles I Button import javafx.scene.control.button; public void start(stage stage) throws Exception {... StackPane layout = new StackPane(); Button button = new Button(); button.settext("texto del botón"); layout.getchildren().add(button);...

JavaFx controles II Label

JavaFx controles II Label import javafx.scene.control.label; public void start(stage stage) throws Exception {... StackPane layout = new StackPane(); Label label = new Label(); label.settext("texto de la etiqueta"); layout.getchildren().add(label);...

JavaFx controles III TextField

JavaFx controles III TextField import javafx.scene.control.textfield; public void start(stage stage) throws Exception {... StackPane layout = new StackPane(); TextField textfield = new TextField(); layout.getchildren().add(textfield);...

JavaFx controles IV TextArea

JavaFx controles IV TextArea import javafx.scene.control.textarea; public void start(stage stage) throws Exception {... StackPane layout = new StackPane(); TextArea textarea = new TextArea(); textarea.setprefrowcount(10); textarea.setprefwidth(200); layout.getchildren().add(textarea);...

Eventos en JavaFX I Clases anónimas Button button = new Button(); button.settext("clickeame"); button.setonaction(new EventHandler<ActionEvent>() { public void handle(actionevent actionevent) { System.out.println(" Me han clickeado!"); );

Eventos en JavaFX II Expresión Lambda Button button = new Button(); button.settext("clickeame"); button.setonaction(e-> { System.out.println("Expresión"); System.out.println("Lambda"); ); Las expresiones lambdas fueron incorporadas en Java 8

Eventos en JavaFX III Usando clases propias para manejar eventos public class MiBotonEventHandler implements EventHandler<ActionEvent> { private Button miboton; public MiBotonEventHandler(Button miboton) { this.miboton = miboton; @Override public void handle(actionevent actionevent) { String textoclickeado = " Me han clickeado!"; System.out.println(textoClickeado); this.miboton.settext(textoclickeado);

Eventos en JavaFX III Usando clases propias para manejar eventos... Button button = new Button(); button.settext("clickeame"); MiBotonEventHandler mibotoneventhandler = new MiBotonEventHandler(button); button.setonaction(mibotoneventhandler);... Con esta forma más prolija evitamos duplicar código en caso de querer replicar el comportamiento con otro botón, al mismo tiempo que nos permite encapsular comportamiento mejorando la claridad.

Ejemplo Integrador