結合編譯版 JavaFX Script + 6uN = 快速部署、高效能執行的圖形富客戶端。
archive.zip,將 archive/openjfx-compiler/dist/bin 加入 PATH。源碼含 package mypackage;,須置於 mypackage/ 目錄下,檔名 HelloCompiledJavaFX.fx。
cd mypackage
javafxc HelloCompiledJavaFX.fx # 編譯
javafx mypackage.HelloCompiledJavaFX # 執行

點擊 "Click Me" 彈出對話框:
package mypackage;
import javafx.ui.*;
import javafx.ui.canvas.*;
Frame {
title: "Hello Rich Internet Applications!"
width: 550
height: 200
background: Color.WHITE
visible: true
content:
BorderPanel {
top:
FlowPanel {
content:
Button {
text: "Click Me"
action: function():Void {
MessageDialog {
title: "JavaFX Script Rocks!"
message: "JavaFX Script is Simple, Elegant,
and Leverages the Power of Java"
visible: true
}
}
}
}
center:
Canvas {
content:
Text {
font: Font {
faceName: "Sans Serif"
style: FontStyle.BOLD
size: 24
}
x: 20
y: 40
stroke: Color.BLUE
fill: Color.BLUE
content: "JavaFX Script Makes RIA Development Easy"
}
}
}
}
/* ... */ 多行與 // 單行註解,語法同 Java。package 對應目錄結構,建議以反轉網域名開頭(如 com.company.module)。import 使用 * 萬用字元或具體類別(如 import javafx.ui.Frame;)。核心優勢:以**單一巢狀表達式**描述完整 UI 包含結構,自動實例化物件並賦值屬性。
Font {
faceName: "Sans Serif"
style: FontStyle.BOLD
size: 24
}
: 代表「將右側運算式賦值給左側屬性」。
title, width, height, background, visible, content。BorderLayout,區域 top, left, right, bottom, center。邊緣區域自適應大小,中心佔剩餘空間。FlowLayout,元件左至右排列,自動換行,保持原始大小。text 顯示文字,action 綁定匿名函數處理點擊事件。title, message, visible。content 放置 2D 圖形節點。x, y 位置,font, stroke, fill, content 樣式。faceName, style, size。message 範例)。將匿名函數賦值給 action 屬性,用戶觸發時執行:
Button {
action: function():Void {
MessageDialog { ... visible: true }
}
}