RIA Entwicklung mit JavaFX: Teil 4 – deklarative Syntax

Kategorien: User facing SOA

Beispiel für deklarative Syntax in JavaFX

Als Beispiel für die deklarative Syntax in JavaFX habe ich das Code Beispiel aus dem Tutorial angepasst, kommentiert und stelle es nun hier vor.

Das rechts dargestellte Fenster erscheint bei Ausführung des Beispiels (ohne den Schriftzug „workflow-tool.de“).

Das Beispiel wurde von mir mit der IDE  NetBeans IDE 6.7.1 for JavaFX 1.2 bearbeitet, worin man durch Syntax Highlighting noch besser als hier die verschiedenen Code-Fragmente erkennen und verstehen kann.

import javafx.stage.Stage;           // Fenster
import javafx.scene.Scene;           // Fensterinhalt
import javafx.scene.shape.Rectangle; // Rechteck
import javafx.scene.shape.Circle;    // Kreis
import javafx.scene.paint.Color;     // Farben

// Fenster (Stage) anlegen
Stage {
    // Fenstertitel zuweisen
    title: "Deklaration ist einfach!"
    // Fensterinhalt (Scene) anlegen
    scene: Scene {
        // Fenstermaße
        width: 300, height: 250
        // Sequenz von Nodes, die in der Scene erscheinen
        // Die Reihenfolge der Nodes entscheidet über die Z-Achsen-Positionen.
        content: [
            Circle {
                // Kreismittelpunkt, Radius, Farbe
                centerX: 150
                centerY: 120
                radius: 80
                fill: Color.MAROON
                // Randfarbe und -breite
                stroke: Color.INDIANRED
                strokeWidth: 10.0
            }, // Circle
            Rectangle {
                x: 25, y: 80
                width: 250, height: 80
                // Radius der Ecken-Rundungen
                arcWidth: 60, arcHeight: 20
                // Farben von Rechteck und Rand, Randbreite
                fill: Color.web("#6699FF")
                stroke: Color.web("#003399")
                strokeWidth: 5.0
                // Durchsichtigkeit
                opacity: 0.5
            } // Rectangle
        ] // Scene.content
    } // Scene
} // Stage

Tags: