clase 01 - programacion javafx 2

Post on 03-Aug-2015

260 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PROGRAMACIÓN JAVAFX 2.0INTRODUCCIÓN

Claudio Carmona C.

Contenidos

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

Usuario

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

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

RoadMap de JavaFX 2.0

En JavaOne 2007 Sun presento F3 como JavaFX

El 20 de abril 2009 Oracle anuncia la compra de Sun

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

RoadMap de JavaFX 2.0

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

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

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

RoadMap de JavaFX 2.0

RoadMap de JavaFX 2.0

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.

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/

JavaFX 2.0 en NetBeans 7.2

JavaFX 2.0 en NetBeans 7.2

JavaFX 2.0 en NetBeans 7.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)

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

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

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.

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

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

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

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

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

top related