Choinka FX

napisane przez wiktor, 15:24 12-22-2007

Za moją namową Radek Holewa wczoraj wykonał choinkę w JavaFX :). Nie można powiedzieć o niej, że powala na kolana (sorry Radek ;)), więc obiecałem, że zrobię lepszą. Chociaż ciut lepszą. Oto wynik paru zmian w choince Radka:

Choinka w JavaFX


Poniżej znajduje się kod powyższej choinki. Możesz go szybko odpalić w JavaFX Pad. Odpal JavaFX Pad, wklej poniższy kod i choinka gotowa :).

Java Web Start - JavaFX Pad



UWAGA! Jeśli najedziesz kursorem na napis “Wesołych Świąt” to choinka się obróci ;).

package choinka;

import javafx.ui.*;
import javafx.ui.canvas.*;
import javafx.ui.filter.*;
import java.awt.Dimension;

class ChoinkaFX extends CompositeNode {
    attribute rotationValue: Number;
}

attribute ChoinkaFX.rotationValue = 0;

function ChoinkaFX.composeNode() =
Group {
    content: [Group {
        transform: bind [translate(20, 10), rotate(rotationValue, 150, 70)]
        filter: [ShapeBurst { factor: 4 }, LightFilter { diffuseColor: green }, GaussianBlur]
        content:[
        Rect {
            x: 60
            y: 240
            height: 40
            width: 40
            fill: green
            stroke: lightgreen
            strokeWidth: 5
        },
        Polygon {
            points: [10, 240, 150, 240, 80, 150]
            fill: green
            stroke: lightgreen
            strokeWidth: 5
        },
        Polygon {
            points: [10, 160, 150, 160, 80, 70]
            fill: green
            stroke: lightgreen
            strokeWidth: 5
        },
        Polygon {
            points: [10, 80, 150, 80, 80, 2]
            fill: green
            stroke: lightgreen
            strokeWidth: 5
        }]
    },
    Text {
        x: 170, y: 120
        content: "Wesołych Świąt"
        fill: maroon
        font: Font { face: VERDANA, size: 40 }
        filter: [ShadowFilter]
        onMouseEntered: operation(event) {
            rotationValue = [0..360] dur 1000;
        }
    }
    ]
};

Canvas {
    content: ChoinkaFX
    background: lightblue
    preferredSize: Dimension { width: 500, height: 300 }
}


Wesołych Świąt!

Komentarzy (2)

  1. karol napisał(a):

    Tutaj jest trochę lepsza kartka w JavaFX: http://weblogs.java.net/blog/joshy/archive/2007/12/a_javafx_christ.html ;)

  2. Radosław Holewa napisał(a):

    No, no moja choinka przy Twojej wymięka ;)

    Pozdrawiam,
    Radek

Zostaw komentarz

Możesz używać znaczników do formatowania kodu takich jak: <b>...</b>, <code>...</code> lub dla konkretnych języków programowania: [java]...[/java], [ruby]...[/ruby] itd.


Wiktor Gworek Nazywam się Wiktor Gworek i jestem gospodarzem tego bloga.
Przeczytaj więcej o mnie »