Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Norman Carcamo.
Prefacio
• ¿Que es JavaFX?
• Primeros pasos con JavaFX Aplicaciones de ejemplo
Audiencia
Accesibilidad Documentación
Documentos relacionados
Convención Significado
• Aplicaciones JavaFX
• disponibilidad
• Características principales
• Recursos
Aplicaciones JavaFX
Disponibilidad
Caracteristicas Claves
JavaFX Ensemble8
Modena
Descripción de la
ilustración modena-
sample.gif
Aplicación de Ejemplo Descripción
3D Viewer
..\javafx_samples-8.x-<platform>\javafx-samples-8.x\src
c. Seleccione la muestra que desea ver.
• Scene Graph
• Graphics System
• Web Component
• CSS
• UI Controls
• Layout
• Visual Effects
• opacidad (Opacity)
• Transformaciones (Transforms)
• Que sea más fácil para los desarrolladores web para utilizar
JavaFX de otros lenguajes dinámicos basados en JVM, como Groovy
y JavaScript.
o DirectX 11 en Windows 7
Hilos(Threads)
• Actualizar el contenido
• Manejar eventos
Para obtener más información sobre cómo trabajar con los layouts, vea
el articulo Trabajo con layouts JavaFX. Para obtener más información
sobre la API Layout JavaFX, consulte la documentación de la API para
el paquete javafx.scene.layout.
Efectos Visuales
Construya la aplicación
package holamundo;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
@Override
public void start(Stage stage) {
Button boton = new Button();
boton.setText("Di 'Hola Mundo'");
boton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hola Mundo!");
}
});
stage.setTitle("Hola Mundo!");
stage.setScene(escena);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Estas son las cosas importantes que debe saber acerca de la estructura básica de una
aplicación JavaFX:
• La clase principal para una aplicación JavaFX amplía(extends) la clase
javafx.application.Application. El método start() es el principal punto de
entrada para todas las aplicaciones JavaFX.
• El nodo raíz contiene un nodo hijo, un control de botón con texto, además de un
controlador de eventos para imprimir un mensaje cuando se pulsa el botón.
La Figura 3-1 muestra el escenario gráfico(Scene Graph) para la aplicación Hello World.
Para obtener más información sobre los escenarios gráficos consulte Uso de Scene Graph
de JavaFX.
Donde ir a continuación:
Esto concluye el tutorial básico Hello World, pero sigue leyendo para más lecciones
sobre el desarrollo de aplicaciones JavaFX:
• Formas de lujo(Fancy forms) con JavaFX y CSS proporciona trucos de estilo simple
para la mejora de su aplicación, como agregar una imagen de fondo y los botones
de estilo y texto.
• Usando FXML para crear una interfaz de usuario muestra un método alternativo para
crear la interfaz de usuario de inicio de sesión. FXML es un lenguaje basado en
XML que proporciona la estructura para la construcción de una interfaz de usuario
independiente de la lógica de la aplicación de su código.
• Animación y Efectos Visuales en JavaFX muestra cómo llevar a cabo una aplicación
a la vida mediante la adición de animación, línea de tiempo y efectos de mezcla.
Creando un formulario en javaFX
Creando el Proyecto
@Override
public void start(Stage primaryStage)
{
primaryStage.setTitle("JavaFX Welcome");
primaryStage.show();
}
btn.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent e)
{
actiontarget.setFill(Color.FIREBRICK);
actiontarget.setText("Sign in button pressed");
}
});
Ejecutando la aplicación
Con esto concluye el tutorial básico del Formulario, pero puede seguir
leyendo los siguientes tutoriales sobre el desarrollo de aplicaciones
JavaFX.
Creando el Proyecto
5. Clic en Finalizar .
Una imágen de fondo ayuda a que su formulario sea más atractivo. Para
este tutorial, agregará un fondo gris con una textura similar al lino.
Los siguientes controles para mejorar son las etiquetas. Usarás .label
un estilo de clase, Estilo de etiqueta(Label), que significa que los
estilos afectarán a todas las etiquetas en el formulario. El código es
en el ejemplo 5-3.
Estilo de Textos(Text)
#welcome-text
{
-fx-font-size: 32px;
-fx-font-family: "Arial Black";
-fx-fill: #818181;
-fx-effect: innershadow( three-pass-box , rgba(0,0,0,0.7) , 6, 0.0 , 0 , 2 );
}
#actiontarget
{
-fx-fill: FIREBRICK;
-fx-font-weight: bold;
-fx-effect: dropshadow( gaussian , rgba(255,255,255,0.5) , 0,0,0,1 );
}
En primer lugar, crear el estilo para el estado inicial del botón con
el código en el ejemplo 5-6. Este código utiliza el selector de clase
estilo de botón “.button” , de manera que si se agrega un botón al
formulario en una fecha posterior, a continuación, el nuevo botón
también utilizar este estilo.
.button
{
-fx-text-fill: white;
-fx-font-family: "Arial Narrow";
-fx-font-weight: bold;
-fx-background-color: linear-gradient(#61a2b1, #2A5058);
-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 5, 0.0 , 0 , 1 );
}
.button:hover
{
-fx-background-color: linear-gradient(#2A5058, #61a2b1);
}
La figura 5-5 muestra el estado inicial y hover del botón con su nuevo
fondo azul-gris y blanco negrita.
Donde ir ahora?
Vea lo que puede crear usando CSS. Algunos documentos que le pueden
ayudar a que usted son Decorando aplicaciones JavaFX con CSS, Styling
Gráficos con CSS y la Guía de referencia CSS JavaFX. El Skinning con
CSS y la sección Analizador CSS de la Guía del usuario de JavaFX Scene
Builder también proporciona información sobre cómo se puede utilizar
la herramienta de escena JavaFX Builder para la carcasa de su diseño
JavaFX FXML.
Vea Estilos en Botones FX con CSS para ver ejemplos de cómo crear
estilos comunes del botón usando CSS.
Usando FXML para crear Interfaces de Usuario
Este tutorial muestra los beneficios del uso de JavaFX FXML, que es un
lenguaje basado en XML que proporciona la estructura para la
construcción de una interfaz de usuario independiente de la lógica de
la aplicación de su código.
Configurando el proyecto
@Override
public void start(Stage stage) throws Exception
{
Parent root = FXMLLoader.load(getClass().getResource("fxml_example.fxml"));
Scene scene = new Scene(root, 300, 275);
stage.setTitle("FXML Welcome");
stage.setScene(scene);
stage.show();
}
<?import java.net.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<GridPane fx:controller="fxmlexample.FXMLExampleController"
xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
<padding>
<Insets top="25" right="25" bottom="10" left="25"/>
</padding>
</GridPane>
Las líneas siguientes crean un objeto Label con texto User Name: en la
columna 0, fila 1 y un objeto TextField a la derecha del mismo, en la
columna 1, fila 1 . Otra etiqueta y el objeto campo Password: se crean
y se añaden a la red de una manera similar.
<HBox
spacing="10" alignment="bottom_right" GridPane.columnIndex="1" GridPane.rowIndex="4" >
<Button text="Sign In” onAction="#handleSubmitButtonAction"/>
</HBox>
package fxmlexample;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.text.Text;
@FXML
protected void handleSubmitButtonAction(ActionEvent event)
{
actiontarget.setText("Sign in button pressed");
}
}
<?language javascript?>
onAction="handleSubmitButtonAction(event);"
<GridPane
xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
<fx:script>
function handleSubmitButtonAction()
{
actiontarget.setText("Calling the JavaScript");
}
</fx:script>
<fx:script source="fxml_example.js"/>
<stylesheets>
<URL value="@Login.css"/>
</stylesheets>
</GridPane>
<GridPane
fx:controller="fxmlexample.FXMLExampleController"
xmlns:fx=http://javafx.com/fxml
alignment="center"
hgap="10"
vgap="10"
styleClass="root"
>
<Text
id="welcome-text"
text="Welcome"
GridPane.columnIndex="0"
GridPane.rowIndex="0"
GridPane.columnSpan="2"
/>
A donde ir ahora?
Ahora que usted está familiarizado con FXML, mire Introducción a FXML,
que proporciona más información sobre los elementos que componen el
lenguaje FXML. El documento está incluido en el paquete javafx.fxml en
la documentación de la API.
Configurando el Proyecto
@Override
public void start(Stage primaryStage)
{
Group root = new Group();
Scene scene = new Scene(root, 800, 600, Color.BLACK);
primaryStage.setScene(scene);
primaryStage.show();
}
Agregando Graficos
Este código crea un grupo llamado “circles”, luego utiliza un bucle for
para añadir 30 círculos a el grupo. Cada círculo tiene un radio de
150px, color de relleno de blanco, y el nivel de opacidad de un 0.5%,
lo que significa que es casi transparente.
Los círculos de color gris con los bordes borrosos aparecen ahora en
la parte superior de un arco iris de colores, como se muestra en la
Figura 7-5.
root.getChildren().add(colors);
root.getChildren().add(circles);
Group blendModeGroup =
new Group(new Group(new Rectangle(scene.getWidth(), scene.getHeight(),
Color.BLACK), circles), colors);
colors.setBlendMode(BlendMode.OVERLAY);
root.getChildren().add(blendModeGroup);
Añadir animación
0. JRE
1. JDK
2. JavaFX Scene Builder 1.1
3. NetBeans ó Eclipse(o el IDE que más te guste).
4. Eclipse(La Versión que prefieras, en este caso
utilice Keppler).
5. e(fx)clipse plugin for eclipse
Sitio web:
http://www.eclipse.org/efxclipse/index.html
Ejemplo:
6. Introducción a FXML:
http://docs.oracle.com/javase/8/javafx/api/javafx/fxm
l/doc-files/introduction_to_fxml.html