clase 01 - programacion javafx 2

26
PROGRAMACIÓN JAVAFX 2.0 INTRODUCCIÓN Claudio Carmona C.

Upload: luis-alfredo-sickboy-pornoclash-aparicio

Post on 03-Aug-2015

260 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Clase 01 - Programacion Javafx 2

PROGRAMACIÓN JAVAFX 2.0INTRODUCCIÓN

Claudio Carmona C.

Page 2: Clase 01 - Programacion Javafx 2

Contenidos

RoadMap de JavaFX 2.0 Descarga de aplicaciones y APIs Introducción al lenguaje Creación de una Interfaz Simple de

Usuario

Page 3: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

En 2005, Sun Microsystems adquiere la compañía SeeBeyond donde trabaja el ingeniero de software Chris Oliver creador de un lenguaje script rico en gráficos llamado F3 (Form Follows Function)

James Gosling (Sun) junto a Chris Oliver

Page 4: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

import f3.ui.canvas.\*;

import f3.ui.\*; Canvas {

content: Rect { x: 20 y: 20 height: 80 width: 300 arcHeight: 20 arcWidth: 20 fill: cyan stroke: purple strokeWidth: 2

} }

Ejemplo F3

Page 5: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

En JavaOne 2007 Sun presento F3 como JavaFX

El 20 de abril 2009 Oracle anuncia la compra de Sun

Page 6: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

En JavaOne 2010 Oracle muestra el RoadMap de JavaFX que incluye el plan de Oracle para la fase de salida del lenguaje de script JavaFX y la re-creación de JavaFX para el lenguaje y la plataforma Java

JavaFX 2.0 SDK fue liberado en JavaOne el 3 de octubre de 2011

JavaFX SDK 1.3 fue liberado en abril de 2010, la versión 1.3.1 fue la última versión en ser liberada (Q.E.P.D.)

Page 7: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

Page 8: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

En JavaOne 2010 JavaFX 2.0 fue anunciado y los detalles son los siguientes:

JavaFX Script Language fue deprecado a favor de la API JavaFX 2.0 (Java, Groovy y JRuby)

Hacer las características atractivas de JavaFX Script Language como binding to expressions disponibles en la API JavaFX 2.0

Ofrecer un conjunto incrementado de componentes UI ricos a la API JavaFX 2.0

Page 9: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

Proveer componentes Web para embeber HTML y JavaScript en aplicaciones JavaFX 2.0

Habilitar la interacción de JavaFX 2.0 con Swing

Reescribir la pila de multimedia desde la base

Page 10: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

La arquitectura de JavaFX 2.0 consiste en: APIs públicas Scene Graph Quantum Toolkit Prism Glass Windowing Toolkit Media y Web Engines Java 2D/OpenGL/D3D JVM

Page 11: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

Page 12: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

Page 13: Clase 01 - Programacion Javafx 2

RoadMap de JavaFX 2.0

El objetivo de JavaFX 2.0 es ser usado a través de muchos tipos de dispositivos; dispositivos móviles, Smartphones, TVs, Tablets y Desktops.

Page 14: Clase 01 - Programacion Javafx 2

Requerimientos

JDK 7 + JavaFX 2 (x86)http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html

NetBeans 7http://netbeans.org/downloads/index.html

Documentaciónhttp://docs.oracle.com/javafx/

Page 15: Clase 01 - Programacion Javafx 2

JavaFX 2.0 en NetBeans 7.2

Page 16: Clase 01 - Programacion Javafx 2

JavaFX 2.0 en NetBeans 7.2

Page 17: Clase 01 - Programacion Javafx 2

JavaFX 2.0 en NetBeans 7.2

Page 18: Clase 01 - Programacion Javafx 2

Ciclo de vida JavaFX 2.0

El punto de entrada para las aplicaciones JavaFX 2.0 es la clase Application. En tiempo de ejecución JavaFX realiza en orden lo siguiente:

Construye una instancia de la aplicación especifica

Llama al método init() Llama al método

start(javafx.stage.Stage)

Page 19: Clase 01 - Programacion Javafx 2

Ciclo de vida JavaFX 2.0

Espera que la aplicación finalice, lo que ocurre cuando se cierra la ventana o cuando la aplicación llama a Platform.exit()

Llama al método stop()

Notas: El método start es abstracto y debe ser

overridden Los métodos init() y stop() están

implementados

Page 20: Clase 01 - Programacion Javafx 2

Elementos de la Interfaz Simple

La aplicación base de JavaFX 2.0 es Application:public abstract class Application extends java.lang.Object

Las aplicaciones deben extender a javafx.application.Application

http://docs.oracle.com/javafx/2/api/javafx/application/Application.html

Page 21: Clase 01 - Programacion Javafx 2

Métodos de Application

Modificador y Tipo

Método Descripción

HostServices getHostServices() Obtiene los HostServices para la aplicación

Application.Parameters

getParameters() Recupera los parámetros para la aplicación

void init() Método de inicialización de la aplicación

static void launch(java.lang.Class<? extends Application> appClass, java.lang.String... args)

Lanza aplicación independiente (standalone)

static void launch(java.lang.String... args)

Lanza aplicación independiente (standalone)

void notifyPreloader(Preloader.PreloaderNotification info)

Notifica al precargador con una notificación generada en la aplicación

abstract void start(Stage primaryStage) Punto principal de entrada para todas las aplicaciones JavaFX

void stop() Método llamado cuando la aplicación debería detenerse. Provee un lugar conveniente para preparar la aplicación para salir y destruir los recursos asociados.

Page 22: Clase 01 - Programacion Javafx 2

Método start()

JavaFX crea un Thread de aplicación para ejecutar el método start

La creación de los objetos Scene y Stage, así como la modificación de operaciones del gráfico de scene para los objetos que están «vivos« (todos los objetos vinculados a una scene) debe realizarse en el thread de aplicación JavaFX

El constructor de la aplicación y el método init son llamados en el launcher thread, no en el thread de aplicación JavaFX

Page 23: Clase 01 - Programacion Javafx 2

Clase Stage

public class Stage extends Window La clase Stage es el nivel superior de JavaFX

en contenedores El stage primario es construido por la

plataforma Objetos stage adicionales pueden ser

construidos por la aplicación Los objetos stage deben ser construidos y

modificados en el thread de aplicación JavaFX

http://docs.oracle.com/javafx/2/api/javafx/stage/Stage.html

Page 24: Clase 01 - Programacion Javafx 2

Clase Scene

@DefaultProperty(value="root") public class Scene extends java.lang.Object implements EventTarget La clase Scene es el contenedor para todo el

contenido de un gráfico scene El tamaño de scene debe ser inicializado por

la aplicación durante la construcción Los objetos scene deben ser construidos y

modificados en el thread de aplicación JavaFX

http://docs.oracle.com/javafx/2/api/javafx/scene/Scene.html

Page 25: Clase 01 - Programacion Javafx 2

Clase StackPane

public class StackPane extends Pane StackPane ordena los nodos de acuerdo a

una pila, es decir, el primer nodo en entrar quedará abajo, mientras que el último en entrar quedará arriba

Para distribuir (layout) los nodos se puede usar el constraint alignment. Para cada constraint, stackpane provee un método estático para setear la posición del nodo.

http://docs.oracle.com/javafx/2/api/javafx/scene/layout/StackPane.html

Page 26: Clase 01 - Programacion Javafx 2

Clase Button

public class Button extends ButtonBase Button es un control simple de botón El botón puede contener un texto y/o un

gráfico (imagen) Cuando un botón es presionado y liberado

un ActionEvent es enviado Los botones también pueden responder a

mouse events por la implementación de EventHandler para procesar MouseEvent

http://docs.oracle.com/javafx/2/api/javafx/scene/control/Button.html