Archive for 12月 28th, 2012

  1. Hello, JavaFX(Fantom) World!

    Posted on 12月 28th, 2012 by cx20

    JavaFX(Jython)

    JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
    類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
    以下は Fantom による JavaFX の使用例となっている。

    ディレクトリ構成

    %FANTOM_HOME%
        /lib
            /java
               /ext         … ライブラリ配置場所
     
    1. %FANTOM_HOME%libjavaetc にライブラリ配置
       jfxrt.jar
     
    2. パスの確認
       C:¥> fan compilerJava::ClassPath
     
       <実行結果>
       --- ClassPath ---
       Packages Found:
              :
         com.sun.javafx [15]
              :
       ClassPath Files:
              :
         file:/%FANTOM_HOME%/lib/java/ext/jfxrt.jar

    ソースコード

    using [java] javafx.application::Application
    using [java] javafx.stage::Stage
    using [java] javafx.scene::Scene
    using [java] javafx.scene.layout::HBox
    using [java] javafx.scene.control::Label
     
    class Hello : Application {
        Void main(Str[] args) {
            Application.launch(Hello#->toClass, args)
        }
     
        override Void start(Stage? stage) {
            hbox := HBox()
            scene := Scene(hbox, 640.0f, 480.0f)
            label := Label("Hello, JavaFX World!")
            hbox.getChildren().add( label  )
     
            stage.setScene(scene)
            stage.setTitle("Hello, World")
            stage.show()
        }
    }

    実行方法

    C:¥> fan Hello.fan

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, JavaFX World!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+